Prima soluzione
Installare lftp
sudo apt-get install lftp
dopo quello crei lo script
#!/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
"
Salvalo in un posto con il nome upload.sh
. Dagli il +x
permesso.
sudo chmod +x /path_to_script/upload.sh
Installazione crontab
per eseguire questo comando in ogni x
periodo di tempo
Per la modifica della corsa crontab
crontab -e
Per l'esecuzione del comando su ogni 5 min codice è
*/5 * * * * /path_to_script/upload.sh
ogni ora
0 */1 * * * /path_to_script/upload.sh
per correre alle 4 del mattino
0 4 * * * /path_to_script/upload.sh
Soluzione 2
Creare un piccolo e facile script chiamato lftp-script
che LFTP
può leggere:
open ftp://username:password@website.com
mirror -v --only-newer /home/local/path/ /website.com/public_html/
Finalmente puoi eseguire LFTP
e avviare la sincronizzazione. Imposta crontab come scrivo ma metti il comando
lftp -f /path/to/lftp-script
qualcosa come questo
*/5 * * * * lftp -f /path/to/lftp-script
Soluzione 3
Installare curlftpfs
sudo apt-get install curlftpfs
è necessario fare per montare ftp localmente è quello di eseguire questi comandi creare dir streg verrà sincronizzato
mkdir hostr
monta dir ftp remoto su locale
sudo curlftpfs -o allow_other ftp://user:pass@ftp.example.com host
utente: pass è il nome utente e la password per accedere all'account ftp.
Puoi aggiungere curlftpfs
a fstab
per il montaggio automatico usando questa linea:
curlftpfs#user:pass@ftp.example.com /mnt/host fuse rw,uid=500,user,noauto 0 0