o seguinte é salvo em / usr / local / bin chmod 700 e executado crom / etc / crontab a cada 2 horas na marca de 37 minutos.
#!/bin/bash
login="username"
pass="*****"
host="seedboxURL"
remote_dir='~/folder/I/want/to/copy'
local_dir="/media/driveNAME/files"
base_name="$(basename "$0")"
lock_file="/tmp/$base_name.lock"
trap "rm -f $lock_file" SIGINT SIGTERM
if [ -e "$lock_file" ]
then
echo "$base_name is running already."
exit
else
touch "$lock_file"
lftp -u $login,$pass $host << EOF
set ftp:ssl-allow no
set mirror:use-pget-n 10
mirror -c -P10 --only-missing --log="/var/log/$base_name.log" "$remote_dir" "$local_dir"
quit
EOF
rm -f "$lock_file"
trap - SIGINT SIGTERM
exit
fi
isto está copiando arquivos / pastas de uma pasta torrent concluída. ocasionalmente eu vou acabar com um arquivo local parcial que eu presumo que foi capturado no meio da transferência da pasta de download para completar a pasta. minha pergunta é como eu posso fazer o lftp verificar que o arquivo local é menor e REpull / mirror se for esse o caso?