Primeira solução
Instale lftp
sudo apt-get install lftp
após esse script de criação
#!/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
. Conceda +x
permissão.
sudo chmod +x /path_to_script/upload.sh
Configure crontab
para executar este comando em cada x
de tempo
Para editar a execução do crontab
crontab -e
Para executar o comando em cada código de 5 min é
*/5 * * * * /path_to_script/upload.sh
em todas as horas
0 */1 * * * /path_to_script/upload.sh
para ser executado às 4h
0 4 * * * /path_to_script/upload.sh
Solução dois
Crie um script pequeno e fácil chamado lftp-script
que LFTP
pode 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 coloque o comando
lftp -f /path/to/lftp-script
algo como isto
*/5 * * * * lftp -f /path/to/lftp-script
Solução três
Instale curlftpfs
sudo apt-get install curlftpfs
você precisa fazer para montar o ftp localmente para executar estes comandos criar pasta que será sincronizada
mkdir hostr
monte o diretório ftp remoto para o local
sudo curlftpfs -o allow_other ftp://user:[email protected] host
user: pass é o nome de usuário e senha para entrar na conta ftp.
Você pode adicionar curlftpfs
a fstab
para montagem automática usando esta linha:
curlftpfs#user:[email protected] /mnt/host fuse rw,uid=500,user,noauto 0 0