Espelhamento All Time Lftp

0

Como fazer com que o lftp seja executado em segundo plano o tempo todo e empurrar qualquer alteração feita para uma pasta local para uma pasta no servidor remoto. O comando de espelhamento reverso normal não está funcionando o tempo todo e específico para alterações. Basicamente eu quero manter as duas pastas em sincronia. Obrigado

    
por Jatin Luthra 11.02.2016 / 18:37

1 resposta

0

Use a função mirror e um cron para acioná-lo repetidamente.

Coloque isso em um script (por exemplo, ~/push_to_server.sh ):

cd [PATH_THAT_YOU_WANT_TO_COPY]
lftp -c "open [HOST] -u [USER],[PASSWORD]; mirror -R [PATH_ON_SERVER]"

Você quer procurar as funções '-e' e '-P' do lftp mirror em seu manual ( man lftp ) e pode usá-las junto com -R .

Agora você ativa esse script a cada poucos minutos com o cron. Execute crontab -e e adicione:

*/5 * * * * ~/push_to_server.sh

Isso iniciará o script a cada 5 minutos (leia man 5 crontab para entender o que o 5 e os asteriscos estão realmente fazendo antes de alterá-los). Certifique-se de apontar para o caminho real do script, caso você o tenha movido ou esteja executando o crontab como um usuário diferente.

Se a sua sincronização de ftp demorar mais que 5 minutos (nos horários de pico), você terá que alterar o cron. Leia man 5 crontab para aprender como fazer isso.

    
por 11.05.2018 / 11:15