Primeira solução
Instalar lftp
sudo apt-get install lftp
depois disso criar 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
"
Salve-o em algum lugar com o nome upload.sh
. Dê +x
permissão.
sudo chmod +x /path_to_script/upload.sh
Instalação crontab
para executar este comando em cada x
período de tempo
Para editar o crontab run
crontab -e
Para executar o comando a cada 5 minutos, o código é
*/5 * * * * /path_to_script/upload.sh
a cada hora
0 */1 * * * /path_to_script/upload.sh
para correr às 4 da manhã
0 4 * * * /path_to_script/upload.sh
Solução dois
Crie um script pequeno e fácil chamado lftp-script
que LFTP
possa ler:
open ftp://username:[email protected]
mirror -v --only-newer /home/local/path/ /website.com/public_html/
Finalmente, você pode executar LFTP
e iniciar a sincronização. Definir crontab como eu escrevo, mas colocar comando
lftp -f /path/to/lftp-script
algo assim
*/5 * * * * lftp -f /path/to/lftp-script
Solução três
Instalar curlftpfs
sudo apt-get install curlftpfs
o que você precisa fazer para montar o ftp localmente é executar esses comandos criar dir que será sincronizado
mkdir hostr
monte o diretório ftp remoto no local
sudo curlftpfs -o allow_other ftp://user:[email protected] host
user: pass é o nome de usuário e a senha para fazer login na conta ftp.
Você pode adicionar curlftpfs
à fstab
montagem automática usando esta linha:
curlftpfs#user:[email protected] /mnt/host fuse rw,uid=500,user,noauto 0 0
Untitled 1.odt' mirror: /home/edward/bl3/bl2/bl1/Untitled 1.odt: No such file or directory Unknown command
; '/new
pasta. Verifique os dois caminhos.source folder
local, essa pasta deverá ser sincronizada com a pasta ftp.