rsync, ssh, sshpass – backup

Бърз начин да архивираме директория на една локална машина.

mkdir /home/sami/backup
sudo apt-get install rsync
rsync -avz --delete /home/sami/workdir  /home/sami/backup/workdir

Архив с ssh през мрежата, опцията –exclude=/nobackup изключва тази директория.

rsync -avz --delete  -e ssh root@172.16.10.1:/home/sami workdir --exclude=/nobackup /home/sami/backup

Тук се случва същото но sshpass съхранява паролата на отдалечената машина и така не ни се налага да я пишем ако е във файл или дори можем да я пуснем с cron.

sudo apt-get install sshpass
sshpass -p remotepass rsync -avz --delete  -e ssh root@172.16.10.1:/home --exclude=/nobackup /home/sami/backup

За варианта с crontab създаваме файл /etc/init.d/backup и копираме горното съдържание в него след което вмъкваме реда 0 4 * * * root test -x /etc/init.d/backup && /etc/init.d/backup в /etc/crontab за да може сглобения ни вече скрипт да се изпълнява в всяка сутрин в четири часа сутринта.

nano /etc/crontab
 
[...]
0 4 * * * root test -x /etc/init.d/backup && /etc/init.d/backup
[...]
 
/etc/init.d/cron restart

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.