– “Remote Synchronize – RSYNC” là giao thức sử dụng để đồng bộ dữ liệu, ta có thể sử dụng để backup, đồng bộ dữ liệu giữa máy tính
Rsync ở trong cục bộ một máy linux
– Tạo thư mục backup
[root@linux ~]# mkdir /backup
– Kiểm tra thư mục /home sẽ đồng bộ dữ liệu sang /backup
[root@linux ~]# cd /home [root@linux home]# ls -l -rw------- 1 root root 7168 Jun 24 23:06 aquota.group -rw------- 1 root root 7168 Jun 24 22:55 aquota.user drwx------. 2 root root 16384 Jun 24 18:12 lost+found drwx------ 2 quotauser quotauser 4096 Jun 24 22:55 quotauser
– Ta sử dụng câu lệnh “rsync” để backup folder “/home” vào folder “/backup”
[root@linux home]# rsync -auv /home /backup
-a : nghĩa là archive. Options này bao gồm nhiều biến -r, -l, -t, -p, -d
-r : backup recursive. Nghĩa là đồng bộ mọi file và folder trong các folder con
-l : backup link
-t : bảo tồn yếu tố thời gian của file và folder
-p : bảo tồn yếu tố permission của file và folder
-d : các dạng file khác
-u : update nghĩa là các file nào ta đã rsync thì ở các lần hoạt động sau chương trình sẽ không rsync
– Kiểm tra
[root@linux home]# cd /backup [root@linux backup]# ls home
=> Sẽ thấy folder home mới
– Thêm biến –delete
[root@linux home]# rsync -auv --delete /home /backup
=> Khi ta sử dụng biến –delete
=> Nếu như ở vị trí source là /home có file hoặc folder đã bị xóa. thì lần back up thứ 2 thêm biến –delete, tại vị trí destination /backup thì file và folder đó sẽ bị xóa theo.
– Đồng bộ từ nhiều source
[root@linux home]# rsync -auv --delete /home1 /home2 /home3 /backup
=> rsyn các folder /home1 /home2 /home3 vào /backup
RSYNC giữa 2 máy thông qua SSHv2
– Kiểm tra địa chỉ của 2 máy tính
+ Backup: 192.168.126.201
+ Server: 192.168.126.208
– Ở máy Backup ta tạo folder
[root@backup ~]# mkdir /backup
– Ở máy Server kiểm tra dữ liệu ta cần Backup
[root@server ~]# cd /home/ [root@server home]# ls aquota.group aquota.user lost+found quotauser test.txt
– Kiểm tra kết nối SSH từ Backup –> Server
[root@backup ~]# ssh root@192.168.126.208 password: 123456 [root@server ~]# ip addr
=> IP 192.168.126.208 (dang o dong lenh cua may Server)
[root@server ~]# exit
– Sử dụng câu lệnh “Rsync + SSH” tại máy BACKUP để đồng folder /home (từ
địa chỉ 192.168.126.208) về folder /backup (192.168.126.201)
[root@backup ~]# rsync -auv --delete -e ssh root@192.168.126.208:/home/ /backup password: 123456
+ Kiểm tra
[root@backup ~]# cd /backup/ [root@backup backup]# ls aquota.group aquota.user lost+found quotauser test.txt
+ xóa hết để thực hành lab phần sau
[root@backup backup]# rm -rf *
– Sử dụng câu lệnh “Rsync + SSH” tại máy Server để đồng bộ folder /home
(192.168.126.208) về folder /backup (192.168.126.201)
[root@samba home]# rsync -auv --delete -e ssh /home/ root@192.168.126.201:/backup password: 123456
+ Kiểm tra và xóa như trên
RSYNC qua SSHv2 và đăng nhập bằng public/private key
– Tại máy BACKUP tạo ra cặp public/private key
[root@backup backup]# cd [root@backup ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:kGKtxhn9NYcGUqCFBVvuBvdvJWiDMaNcu+pY9wPRuYU root@backup The key's randomart image is: +---[RSA 2048]----+ | .+*oo | | .O o . . | | B %. o= . | | + @.XE+.o | | B =.So. . | | . ..o.o o | | . o. o | | o o ... | | ..o .. | +----[SHA256]-----+
– Copy file “id_rsa.pub” vào máy SERVER bằng câu lệnh “scp”
+ Kiểm tra vị trí lưu file public/private key của máy BACKUP
[root@backup ~]# cd /root/.ssh [root@backup .ssh]# ls -l total 12 -rw------- 1 root root 1679 Jun 25 17:08 id_rsa -rw-r--r-- 1 root root 393 Jun 25 17:08 id_rsa.pub -rw-r--r-- 1 root root 177 Jun 25 16:23 known_hosts
+ Copy public key sang máy SERVER
[root@backup .ssh]# scp id_rsa.pub root@192.168.126.208:/root root@192.168.126.208's password: id_rsa.pub 100% 393 411.8KB/s 00:00
– Chuyển qua giao diện SSH tại máy Server
+ kiểm tra thấy có file id_rsa.pub
[root@server ~]# cd [root@server ~]# ls
+ tạo thư mục ẩn là .ssh
[root@server ~]# mkdir .ssh
+ Tạo file authorized_keys sang thư mục ẩn .ssh. Ghi public key vào file này
[root@server .ssh]# cd [root@server ~]# cat id_rsa.pub > .ssh/authorized_keys
[root@server ~]# chmod -R 755 .ssh
=> phân quyền 755 cho folder .ssh
– Tại máy BACKUP kiểm tra kết nối SSH tới máy SERVER và đăng nhập bằng public/private key
[root@backup ~]# cd /root/.ssh [root@backup .ssh]# ssh -i id_rsa root@192.168.126.208 Last login: Sat Jun 25 16:23:21 2022 from 192.168.126.201
-i : identity (nhan dang)
+ Thoát về
[root@server ~]# exit
– Thực hiện tạo kết nối RSYNC over SSH tại máy BACKUP và quá trình login
này không cần sử dụng xác thực username password
[root@backup ~]# rsync -auv --delete -e ssh root@192.168.126.208:/home/ /backup
– Tạo crontab chạy đồng bộ dữ liệu vào 2h sáng hàng ngày
[root@backup ~]# crontab -e
+ Ghi vào trong file crontab -e:
00 02 * * * rsync -auv --delete -e ssh root@192.168.126.208:/home/ /backup