ติดตั้ง rsync และ ssh
# aptitude install rsync ssh
สร้างกุญแจให้กับ ssh
# ssh-keygen -t dsa
Enter file in which to save the key (/root/.ssh/id_dsa): <<<--- [ENTER]
Enter passphrase (empty for no passphrase): <<<--- [ENTER]
Enter same passphrase again: <<<--- [ENTER]
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /home/user1/.ssh/id_dsa.pub.
The key fingerprint is:
cd:43:9b:3a:b1:60:01:ae:a2:0e:f8:00:21:8c:d8:f0 root@server2
คัดลอกกุญแจไปยัง server1
# ssh-copy-id -i /root/.ssh/id_dsa.pub root@server1
ต่อเข้า server1 เพื่อบันทึกรหัสผ่าน 1 ครั้ง
# ssh server1 -l root
The authenticity of host 'server1 (192.168.1.1)' can't be established.
RSA key fingerprint is 1a:d1:12:f4:bd:d4:4c:11:93:55:9c:75:a7:eb:7d:ae.
Are you sure you want to continue connecting (yes/no)? <<<--- yes
Warning: Permanently added 'server1,192.168.1.1' (RSA) to the list of known hosts.
root@server1's password: <<<--- ROOT@SERVER1-PASSWORD
Now try logging into the machine, with "ssh 'root@server1'";, and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
#
ต่อเข้าจริงอีก 1 ครั้ง
# ssh root@server1
Last login: Mon Mar 3 21:02:28 2008 from work1.example.com
Linux server1 2.6.18 #1 Mon Mar 3 13:02:29 ICT 2008 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No mail.
# exit
(***อย่าลืม exit ออกจาก server1 ด้วยนะครับ***)
เสร็จเรื่อง ssh
ต่อเรื่องทำ rsync
สร้างไดเรกทอรีมารองรับไฟล์จาก server1 สมมุติว่าให้ชื่อ /sys2/server1-sysb
# mkdir -p /sys2/server1-sysb
สร้างไฟล์ d.cron-rsync-server1 ใน /usr/local/sbin
# vi /usr/local/sbin/d.cron-rsync-server1
#!/bin/bash
# IF sys2 IS SEPARATE, MOUNT /sys2 FIRST
#mount /sys2
# RSYNC FROM server1:/sys1/sysb TO /sys2/server1-sysb
rsync -aq --delete -e "ssh -i /root/.ssh/id_dsa"\
root@server1.example.com:/sys1/sysb/ /sys2/server1-sysb/
# IF sys2 IS SEPARATE, MOUNT /sys2 FIRST
#umount /sys2
ทำให้รันได้
# chmod 700 /usr/local/sbin/d.cron-rsync-server1
ตั้ง cron ให้รันตอนตี 1
# crontab -e
...
#BACKUP server1:/sys1/sysb TO /sys2/server1-sysb DAILY
20 1 * * * /usr/local/bin/d.cron-rsync-server1