cloudup
Giám sát một thư mục và upload lên ổ đĩa đám mây các thay đổi trong thư mục đó.
Trong thư mục nguồn này có thể chứa các symlink trong các thư mục con cho đến cấp 2. Điều này giúp gom các thư mục nguồn về một nơi và tổ chức các thư mục ở ổ đĩa đám mây gọn gàng hơn.
Thí dụ thư mục autosync chứa 2 symlink và thư mục con backup chứa 4 symlink
/autosync
├── backup
│ ├── EloQ-backup -> /mnt/EloQ
│ ├── move2new -> /mnt/move2new
│ ├── tool -> /mnt/tool
│ └── wordpress.sql.gz -> /mnt/backup/wordpress.sql.gz
├── lyntuan -> /mnt/backup/lyntuan
└── picture -> /mnt/minidlna/picture
## hình 1 ##
Cách tổ chức này có mục đích để cloudup tải file lên remote theo cấu trúc như sau
/remote:
├── backup
│ ├── EloQ-backup
│ ├── move2new
│ ├── tool
│ └── wordpress.sql.gz
├── lyntuan
└── picture
## hình 2 ##
Tất cả các thay đổi trong thư mục autosync và trong các thư mục đích của symlink đều được tự động cập nhật lên remote.
Cú pháp của cloudup như sau
cloudup [-q|d][-L][-x file|folder][-o log] LOCAL_DIR REMOTE_DIR
L: accept symlinks in subdirectory upto level 2 (*)
x: exclude file or folder (absolute path)
o: log filename, default $HOME/cloudup.log
q: quiet
d: debug
Để bỏ qua các thay đổi của file hay thư mục con nào đó, dùng option -x file hay folder/. Chú ý là đường dẫn trong option -x là đường dẫn đầy đủ.
- Qui ước folder/ để chỉ nội dung của thư mục folder thay cho folder để tính luôn thư mục folder
Trong thí dụ trên, cấu trúc thư mục /mnt/EloQ như sau
/mnt/EloQ
├── archive
├── mail
└── public_html
## hình 3 ##
Để bỏ qua thư mục mail, dùng option -x /mnt/EloQ/mail
Câu lệnh cài đặt tự động cập nhật các thay đổi trong autosync, ngoại trừ thư mục con mail như sau
@reboot cloudup -L -x /mnt/EloQ/mail /autosync/ remote:
- Nếu chỉ ghi /autosync thì cloudup sẽ ghi chép vào remote:autosync
cloudsync
Sao chép/đồng bộ các thư mục local/remote đến các thư mục local/remote
Các thư mục nguồn có thể chứa các symlink, khi đó các thư mục đích của symlink được sao chép
Cú pháp của cloudsync như sau
cloudsync [-a age][-s][-q][-x file|folder/][-o log][-L|-z][-P] SRC_DIR DST_DIR
a age : only sync files/folder created/changed no later than
this age. age has the suffix ms|s|m|h|d|w|M|y
s : sync instead of copy
L : copy the target of the symbolic link
z : copy the symlinks into a DST_DIR/symlink.tgz archive
without -L and -z option, skip symlinks
x : exclude file or folder (relative path)
o : log filename, default $HOME/cloudsync.log
q : quiet
SRC_DIR
DST_DIR: local or remote folder
Với các thí dụ như trên, câu lệnh sao chép /autosync lên remote như sau
cloudsync -L -q -x mail/ /autosync/ remote:
Điểm khác biệt với cloudup là option -x dùng đường dẫn tương đối mail của nguồn /mnt/EloQ
Với nguồn như ## hình 1 ##, cloudsync cho kết quả ở remote như ## hình 2 ##
Một thí dụ khác: cloudsync tạo backup từ remote_A về thư mục /backup/A, trong khi cloudup giám sát /backup/A nên tự động cập nhật lên remote_B, tạo thêm bản sao lưu trên ổ đĩa đám mây bên cạnh sao lưu trên RPi.
Chú thích
- cloudup sử dụng inotifywait và rclone. Người dùng được nhắc cài đặt nếu trên máy chưa có
- cloudsync sử dụng rclone. Người dùng được nhắc cài đặt nếu trên máy chưa có
- Cả 2 tool trên không chạy nhiều bản sao cùng lúc để tiết kiệm tài nguyên hệ thống
- Cloudsync để upload dữ liệu lần đầu, không nên dùng thường kỳ vì thời gian kiểm tra file có thay đổi không mất vài chục phút với dữ liệu 1TB
- Cloudup nhanh hơn vì chỉ làm việc với file có thay đổi
Script
version 20220523.05
© 2019 LNT lnt@ly-le.info