Isso deve ser feito:
sudo rsync -e 'ssh -i /path/to/pi's/id_rsa' -aAXv / --delete --ignore-errors --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} pi@prime:/mnt/solar
Ubuntu 16.04 Como instalar o servidor rsync para outros sistemas acessarem via ssh usando o cron
Configuração: sistema "prime" com o Ubuntu 16.04 e um segundo disco rígido apenas para backups.
/ dev / sdb1 é montado em / mnt usando o blkid para obter o uuid, em seguida, adicionando uma linha ao / etc / fstab
Eu criei um subdiretório chamado / mnt / full / prime para o primeiro backup, do conteúdo principal do SSD de inicialização.
- > Executando o comando:
sudo rsync -aAXv / --delete --ignore-errors --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/full/prime
realmente faz uma cópia espelhada do sistema de arquivos raiz nesse diretório / mnt / full / prime
É totalmente legal - como o Robocopy com a opção / MIR - ele só transfere as alterações, por isso executa muito mais rápido depois que os arquivos foram copiados na primeira vez.
Agora, para configurá-lo para que outras pessoas acessem, encontrei este artigo
Como usar o rsync para fazer backup de seus dados no Linux
Diz para executar o seguinte comando:
sudo apt-get install ssh rsync
é instalado normalmente.
--EDIT: Isso acaba sendo desnecessário. --END EDIT -
Todos os meus sistemas têm o login sem senha configurado em ambas as direções.
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub <target-system>
e não tenho nenhum problema com cópias scp sem senha e ssh.
Então eu criei um subdiretório sob mnt / full para meu próximo sistema "solar" - / mnt / full / solar e usando ssh no sistema Raspbian "solar" Eu emiti o mesmo comando rsync mas com o diretório de destino sendo pi @prime: / mnt / full / solar
mkdir /mnt/full/solar
ssh solar
sudo rsync -aAXv / --delete --ignore-errors --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} pi@prime:/mnt/full/solar
mas ele solicitou a senha para pi @ prime - o rsync não respeita a configuração normal de login sem senha.
Depois de inserir a senha, a cópia prosseguiu normalmente.
Agora, tudo parece bem, exceto que isso não funcionará como uma tarefa diária do cron se for solicitar uma senha.
A questão está no título: Ubuntu 16.04 rsync via ssh me pede senha, como fazer dele um cron job?
Isso deve ser feito:
sudo rsync -e 'ssh -i /path/to/pi's/id_rsa' -aAXv / --delete --ignore-errors --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} pi@prime:/mnt/solar