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 +xphép nó .
sudo chmod +x /path_to_script/upload.sh
Thiết lập crontabđể chạy lệnh này trong mọi xkhoả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-scriptmà LFTPcó 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 LFTPvà 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 curlftpfsvà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