Giải pháp đầu tiên
Tải về lftp
sudo apt-get install lftp
sau đó tạo kịch bản
#!/bin/bash
HOST='mysite.com'
USER='myuser'
PASS='myuser'
TARGETFOLDER='/new'
SOURCEFOLDER='/home/myuser/backups'
lftp -f "
open $HOST
user $USER $PASS
lcd $SOURCEFOLDER
mirror --reverse --delete --verbose $SOURCEFOLDER $TARGETFOLDER
bye
"
Lưu nó trên một số nơi có tên upload.sh
. Cho +x
phép nó .
sudo chmod +x /path_to_script/upload.sh
Thiết lập crontab
để chạy lệnh này trong mọi x
khoảng thời gian
Để chỉnh sửa chạy crontab
crontab -e
Để chạy lệnh trên mỗi mã 5 phút là
*/5 * * * * /path_to_script/upload.sh
vào mỗi giờ
0 */1 * * * /path_to_script/upload.sh
chạy vào 4 giờ sáng
0 4 * * * /path_to_script/upload.sh
Giải pháp hai
Tạo một kịch bản nhỏ và dễ gọi lftp-script
mà LFTP
có thể đọc:
open ftp://username:password@website.com
mirror -v --only-newer /home/local/path/ /website.com/public_html/
Cuối cùng, bạn có thể chạy LFTP
và bắt đầu đồng bộ hóa. Đặt crontab như tôi viết nhưng đặt lệnh
lftp -f /path/to/lftp-script
một cái gì đó như thế này
*/5 * * * * lftp -f /path/to/lftp-script
Giải pháp ba
Tải về curlftpfs
sudo apt-get install curlftpfs
bạn cần làm để gắn kết ftp cục bộ là chạy các lệnh này, tạo dir witch sẽ được sync-ed
mkdir hostr
gắn thư mục ftp từ xa đến địa phương
sudo curlftpfs -o allow_other ftp://user:pass@ftp.example.com host
user: pass là tên người dùng và mật khẩu để đăng nhập vào tài khoản ftp.
Bạn có thể thêm curlftpfs
vào fstab
để tự động gắn bằng cách sử dụng dòng này:
curlftpfs#user:pass@ftp.example.com /mnt/host fuse rw,uid=500,user,noauto 0 0