Pierwsze rozwiązanie
zainstalować lftp
sudo apt-get install lftp
po tym utwórz skrypt
#!/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
"
Zapisz to w jakimś miejscu z nazwą upload.sh
. Pozwól na to +x
.
sudo chmod +x /path_to_script/upload.sh
Instalator crontab
uruchamia to polecenie za każdym x
razem
Do edycji crontab run
crontab -e
Do uruchomienia polecenia co 5 minut jest kod
*/5 * * * * /path_to_script/upload.sh
na każdą godzinę
0 */1 * * * /path_to_script/upload.sh
biegać o 4 rano
0 4 * * * /path_to_script/upload.sh
Rozwiązanie drugie
Utwórz mały i łatwy skrypt o nazwie, lftp-script
który LFTP
może czytać:
open ftp://username:password@website.com
mirror -v --only-newer /home/local/path/ /website.com/public_html/
Wreszcie możesz uruchomić LFTP
i rozpocząć synchronizację. Ustaw crontab jak piszę, ale wstaw polecenie
lftp -f /path/to/lftp-script
coś takiego
*/5 * * * * lftp -f /path/to/lftp-script
Rozwiązanie trzecie
zainstalować curlftpfs
sudo apt-get install curlftpfs
musisz zrobić, aby zainstalować ftp lokalnie, aby uruchomić te polecenia, stwórz katalog, który zostanie zsynchronizowany
mkdir hostr
podłącz zdalny katalog ftp do lokalnego
sudo curlftpfs -o allow_other ftp://user:pass@ftp.example.com host
user: pass to nazwa użytkownika i hasło do zalogowania się na konto ftp.
Możesz dodać curlftpfs
do fstab
automatycznego montażu za pomocą tej linii:
curlftpfs#user:pass@ftp.example.com /mnt/host fuse rw,uid=500,user,noauto 0 0