Backup com rsync e SSH
Disclaimer: Existem muitos métodos, este é o meu preferido pessoal
Certifique-se de ter o SSH ativo e em execução no seu host destination (dependendo de como instalar / iniciar o SSH no FreeNAS - não sei)
sudo apt-get install openssh-server
Em seguida, veja que você pode fazer o login com keyfiles (sem pw) e digite o seguinte no seu (fonte) Ubuntu Linux PC
ssh-keygen -t dsa -f /home/username/.ssh/rsync_keyfile.dsa
Não defina uma senha, basta pressionar enter duas vezes!
Isenção de responsabilidade: normalmente aconselharia o uso de senhas, mas não para fins de script
Agora copiamos a chave da source - para o destination-host , aqui você tem que digitar o pw para dst-user uma vez
ssh-copy-id -i /home/username/.ssh/rsync_keyfile.dsa dst-user@destination-host
Você pode testá-lo, ver se funciona e se você pode fazer o login
ssh -i /home/username/.ssh/rsync_keyfile.dsa dst-user@destination-host
você pode transferir arquivos com
rsync -<rsync options> -e "ssh -i /home/username/.ssh/rsync_keyfile.dsa" /local/backup/files/* dst-user@destination-host:/remote/backup/
Sugiro usar -a
, bem como -u
, -h
e -P
.
Essas opções dizem ao rsync para a rchive (uma boa combinação de opções), apenas arquivos u pdate (copy) que são mais recentes na origem do que no destino, ele é legível e nos mostra o p progresso de toda a transferência.
Se você usar isso em um script, certifique-se de que o usuário que está executando o dito script seja o proprietário do rsync_keyfile.dsa, caso contrário ele não será usado.