Você estará executando como root no servidor A, que executa rsnapshot, e ssh-ing para seu usuário dedicado backupmaker
on B. Normalmente, você desejará que este usuário consiga sudo rsync, para que você possa ler todos os arquivos para enviar de volta para A.
Suponha, por exemplo, que você tenha um usuário em A que possa sudo e outro usuário em B que possa sudo. Em B, crie o usuário backupmaker
e forneça uma senha. Em B crie uma entrada sudoers para executar o rsync sem uma senha, por exemplo:
sudo tee /etc/sudoers.d/backupmaker <<<'backupmaker ALL = (root) NOPASSWD: /usr/bin/rsync'
(Cuidado ao editar arquivos sudoers. Certifique-se sempre de ter um login raiz em algum lugar para recuperação). Em A, das chaves ssh da raiz de cópia da sua conta de usuário para este novo usuário:
sudo ssh-copy-id backupmaker@B
(Se você ainda não tem a configuração das chaves-raiz, use sudo ssh-keygen -q -N ''
em A para criá-las).
Em A, test root pode ssh para B sem senha e sudo para rsync:
sudo ssh backupmaker@B sudo rsync --version
Em A configure /etc/rsnapshot.conf
, removendo as linhas backup
existentes e adicionando no final, por exemplo
verbose 3
cmd_ssh /usr/bin/ssh
rsync_long_args --rsync-path="sudo rsync" --delete --numeric-ids --relative --delete-excluded
backup backupmaker@B:/home/ mybackupofB/
Cuidado, as 2 colunas são separadas por tabulações, não por espaços. A última linha é um exemplo dizendo que nós iremos ssh para backupmaker@B
e copiaremos /home
de volta para A's /.snapshots/hourly.0/mybackupofB/
. Observe que rsync_long_args
tem uma opção --rsync-path="sudo rsync"
, o que significa que o comando executado em B não será rsync, mas sudo rsync
. Para começar, use um diretório pequeno para backup em vez de todos / home.
Você também pode querer alterar o posicionamento padrão de backups em A de /.snapshots
.
Agora você pode tentar um primeiro instantâneo em A.
sudo rsnapshot -vvv hourly
Isso será executado nos comandos A:
/usr/bin/ssh -l backupmaker B sudo rsync --server --sender -logDtprRe.iLsfx --numeric-ids . /home
/usr/bin/rsync -a --rsync-path='sudo rsync' --delete --numeric-ids --relative --delete-excluded --rsh=/usr/bin/ssh backupmaker@B:/home /.snapshots/hourly.0/backupmaker/
e em B:
sh -c sudo rsync --server --sender -logDtprRe.iLsfx --numeric-ids . /home
Procure em /var/log/rsnapshot
para registros.