Как автоматически синхронизировать содержимое локальной папки с содержимым папки ftp?

После поиска везде мне не удалось найти конкретный ответ на мой вопрос.

В Windows есть приложение под названием FTPbox , которое будет автоматически синхронизировать локальную папку с FTP-файлом каждый установленный период времени.

Мой вопрос: как мне добиться того же, используя Ubuntu? Главное здесь, что я не хочу делать это вручную. Это должен быть полностью автоматический процесс без вмешательства человека (очевидно, мне придется настроить его, если эти классы будут рассматриваться как вмешательство человека)

.

Большое спасибо в ожидании за полезные ответы.

Эдвард

9
задан 18 April 2016 в 13:10

1 ответ

Первое решение

Установка 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:00

 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

смонтируйте удаленный dir ftp к локальному

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
16
ответ дан 18 April 2016 в 23:10
  • 1
    Спасибо за ответ! I' m получение ошибки в Интернете, который говорит " SSL_ERROR_CERT_DOMAIN" – Jacob 30 August 2017 в 06:57

Другие вопросы по тегам:

Похожие вопросы: