Đáng buồn thay, rsync không tự động đăng nhập ở đâu đó mỗi khi nó được sử dụng. Một số công việc thám tử sẽ được yêu cầu.
Đặt cược tốt là rsync đang được chạy từ "cron" ở đâu đó. (cron là một hệ thống chạy định kỳ một dòng lệnh hoặc tập lệnh. Ví dụ: tôi có một công việc định kỳ hàng giờ để cập nhật cơ sở dữ liệu và một công việc định kỳ hàng ngày chạy các tập lệnh sao lưu của tôi.)
Cron (thực ra là crond
) lưu nhật ký tất cả các lệnh ("công việc") mà nó chạy trong /var/log/cron
. (Một số hệ thống Unix/Linux đặt nó ở một nơi khác. Kiểm tra trang hướng dẫn.) Bạn có thể con mèo
tệp đó để kiểm tra nó (nó là một tệp văn bản.)
Cấu hình của Cron được lưu trữ trong /etc hoặc /var/spool/cron hoặc cả hai tùy thuộc vào hệ thống Unix/Linux của bạn. Trang người đàn ông sẽ giúp đỡ, cũng như làm điều gì đó như
tìm /etc /var -name '*cron*'
Bạn có thể tìm rsync trong các tệp đó bằng cách thực hiện một số thao tác như:
grep rsync -R /etc /var/spool/cron
Tuy nhiên, công việc định kỳ có thể đang gọi một tập lệnh gọi rsync. Tên tập lệnh đó có thể không bao gồm các chữ cái "rsync". Nó có thể được gọi là "sao lưu" hoặc "cập nhật" hoặc có thể nó được đặt tên theo hệ thống mà dữ liệu cũng đang được đẩy hoặc lấy từ đó.
Nếu hệ thống của bạn sử dụng "systemd", có khả năng nó đang được chạy từ đó. Kiểm tra các cấu hình đó bằng cách greping /vân vân
đệ quy.
Nếu không có cách nào hoạt động, bạn có thể làm hai điều "chế độ tuyệt vọng".
- Gỡ bỏ
rsync
lệnh buộc sao lưu không thành công. Thông báo lỗi có thể xuất hiện trong email (cron gửi email cho chủ sở hữu công việc khi xảy ra sự cố) hoặc trong nhật ký hệ thống. Bạn chỉ có thể làm:
mv /usr/bin/rsync /usr/bin/rsync.KHÔNG
# đợi một lúc, xem điều gì sẽ xảy ra.
# Hoàn nguyên thay đổi
mv /usr/bin/rsync. KHÔNG /usr/bin/rsync
- Thay thế rsync bằng tập lệnh bao bọc ghi lại những gì nó đang làm, sau đó gọi rsync thực.
Tạo một tệp có tên /usr/bin/rsync.wrapper
trong đó có:
#!/bin/sh
tiếng vang "$@" >>/var/tmp/my.rsync.log
pwd >>/var/tmp/my.rsync.log
exec /usr/bin/rsync.REAL "$@"
Bây giờ hãy cài đặt trình bao bọc:
chạm /var/tmp/my.rsync.log
chmod a+w /var/tmp/my.rsync.log
chmod a+rx /usr/bin/rsync.wrapper
mv /usr/bin/rsync /usr/bin/rsync.REAL
ln -s /usr/bin/rsync.wrapper /usr/bin/rsync
Khi bạn hoàn tất, hoàn nguyên những thay đổi đó với
rm /usr/bin/rsync
mv /usr/bin/rsync.REAL /usr/bin/rsync
FYI: Tôi không đề xuất 2 ý tưởng cuối cùng này (xóa rsync, sử dụng trình bao bọc). Chúng nguy hiểm và có thể làm hỏng hệ thống của bạn. Tuy nhiên, nếu vẫn thất bại, giải pháp trình bao bọc sẽ thực hiện thủ thuật!