Làm trên S2 nhé.
IP nội bộ của S1 giả định là: 192.168.1.6
Cần chạy trong crontab -e nhé!
Lý do:
- File lớn, nếu chạy trong ssh có khả năng không hoàn thành rsync nếu dữ liệu lớn.
- Dùng chính crontab -e này để cấu hình tự đồng bộ mỗi 5-10 phút luôn.
1. Lần đầu
1.1. Copy dữ liệu về
crontab -e28 15 * * * /usr/bin/rsync -avz --progress root@192.168.1.6:/srv/www/ /mnt/live/www/ >> /home/nickname/log/rsync-qms-to-ai.log 2>&1Ghi chú quan trọng:
- Cấu hình trên trong crontab chạy với user thường, không phải root, nên quyền sẽ thuộc về user thường. Ví dụ nickname
- Cần tạo trước thư mục này nhé
/home/nickname/log/nếu không sẽ báo lỗi chưa có thư mục - Cần cấp quyền cho nickname có thể ghi vào /mnt/live/www nữa nhé (chown -R nickname:nickname /mnt/live/www)
1.2. Setgid để file mới tự động đúng group
2.3. Mở ghi chỉ cho thư mục cần ghi
👉 Sau đó:
rsync bằng
nicknamehoặc rootfile mới tự động group www-data
KHÔNG cần chown lại
2. Duy trì tự động
Chạy tự động 5 phút cho các lần sau:
crontab -e*/5 * * * * /usr/bin/rsync -az --delete root@192.168.1.6:/srv/www/ /mnt/live/www/ >> /home/nickname/log/rsync-qms-to-ai.log 2>&1Ghi chú:
- Tham số -az --delete
Tham số --delete:
Xóa file ở đích nếu không còn ở nguồn
Đích sẽ giống nguồn 100%
- Không có tham số v vì đã chạy lần đầu ổn rồi, không cần debug
- Đăng nhập để gửi ý kiến