Первое решение
устанавливать lftp
sudo apt-get install lftp
после этого создать скрипт
#!/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
"
Сохраните его в каком-нибудь месте с именем upload.sh
. Дай +x
разрешение.
sudo chmod +x /path_to_script/upload.sh
Настройка crontab
для запуска этой команды в любой x
период времени
Для редактирования crontab запустите
crontab -e
Для запуска команды на каждые 5 минут код
*/5 * * * * /path_to_script/upload.sh
на каждый час
0 */1 * * * /path_to_script/upload.sh
бежать в 4 часа утра
0 4 * * * /path_to_script/upload.sh
Решение второе
Создайте небольшой и простой скрипт с именем, lftp-script
который LFTP
может читать:
open ftp://username:password@website.com
mirror -v --only-newer /home/local/path/ /website.com/public_html/
Наконец вы можете запустить LFTP
и запустить синхронизацию. Установите crontab, как я пишу, но введите команду
lftp -f /path/to/lftp-script
что-то вроде этого
*/5 * * * * lftp -f /path/to/lftp-script
Решение третье
устанавливать curlftpfs
sudo apt-get install curlftpfs
вам нужно сделать для того, чтобы монтировать ftp локально, для запуска этих команд создайте dir, который будет синхронизирован
mkdir hostr
смонтировать удаленный ftp dir на локальный
sudo curlftpfs -o allow_other ftp://user:pass@ftp.example.com host
user: pass - это имя пользователя и пароль для входа в учетную запись ftp.
Вы можете добавить curlftpfs
к fstab
автоматической установке с помощью этой линии:
curlftpfs#user:pass@ftp.example.com /mnt/host fuse rw,uid=500,user,noauto 0 0