Suas tarefas de backup devem ser configuradas como tarefas "push" em vez de "pull". Inicie o trabalho de backup através do cron do root no seu servidor, e faça-o rsync seus arquivos para o destino de backup.
Atualmente, estou tentando descobrir o backup usando o rsync - e eu me deparei com um pequeno problema. Desativei o acesso root via SSH por motivos de segurança e tenho que usar minha conta de usuário especial (sem permissões de sudo) sempre que eu fizer SSH para fazer os bits de administração. Eu então uso "su -" para obter acesso root completo quando eu sou SSHd para que eu possa ter acesso root completo e possa fazer todos os bits especiais de administração. Eu usei para usar o seguinte para fazer o backup da minha máquina local:
sudo rsync -rav root@MyServerIP:/ BackupFolder/
No entanto, com minhas novas medidas de segurança em vigor (não sendo capaz de SSH com raiz), não posso usar isso. E como minha conta de usuário especial não tem permissões sudo, também não posso usá-lo para rsync.
Como posso executar o comando que escrevi acima, depois de um "su -" ou algum outro truque para que ele tenha as permissões para fazer isso? (Eu posso inserir a senha de root para obter acesso root - no entanto, o root não pode ser logado diretamente do SSH)
Você pode executar um servidor rsync no outro computador. Você pode especificar usuários permitidos.
Sugerida para usar a autenticação ssh-key com o rsync, após configurar " PermitRootLogin sem senha " na configuração do ssh para permitir o acesso root somente via autenticação de chave.
Apenas adicionando como a resposta desde que você solicitou:)
Você pode executar o sudo no host remoto usando a opção --rsync-path. Algo parecido com isto:
rsync -rav --rsync-path='sudo rsync' root@MyServerIP:/ BackupFolder/
Essencialmente, isso faz com que o rsync na caixa remota seja executado como root.