Script LFTP para baixar arquivos e lembrar de downloads antigos [fechados]

1

Eu gostaria de um script que baixe arquivos a cada x minutos e lembre quais arquivos foram baixados. Eu encontrei esta questão semelhante; Script LFTP para baixar arquivos

O problema é que, uma vez que o arquivo tenha baixado da fonte, ele precisa permanecer na origem, no entanto, uma vez atingido o destino, ele será excluído dessa pasta (devido a ser processado / renomeado e movido para uma nova pasta)

Então, se fizer o download da fonte, então, excluir do destino, eu diria que o script simplesmente baixará o mesmo arquivo, sobre & sobre.

II pode usar o script de exemplo acima e combiná-lo com um parâmetro que verifica um arquivo existente em um log de download? No entanto, eu não tenho certeza se 1) pode funcionar e 2) como eu faria isso.

Acontece que eu respondi a pergunta com a ajuda de um amigo. Aqui está o script que acabei usando:

#!/bin/bash
set -x
login="USER"
pass="PASS"
host="HOST"
remote_dir="/remote/folder/"
local_dir="/local/download/folder/"
timestamp="/tmp/sendtv.ts"
lock_file="/tmp/sendtv.lock"

if [ -e "$lock_file" ]; then
    echo "SendTV is running already."
    exit
fi

trap "rm -f $lock_file" SIGINT SIGTERM
touch "$lock_file"
lftp -u $login,$pass $host << EOF
    set ftp:ssl-allow yes
    set ftp:ssl-protect-data yes
    set ftp:ssl-protect-list yes
    set ftp:ssl-force yes
    set mirror:use-pget-n 5
    mirror --depth-first --no-empty-dirs --include-glob *.mkv --newer-than $timestamp -c -P2 --use-pget-n=50 -vvv  "$remote_dir" "$local_dir"
    quit
EOF
if [ $? -eq 0 ]; then
    touch "$timestamp"
fi
rm -f "$lock_file"

A maneira como impede a interrupção de downloads anteriores é que ele toca o arquivo de timestamp toda vez que é executado e evita que qualquer coisa mais antiga que a última execução seja baixada.

    
por Dr Spaldo 28.10.2018 / 03:04

0 respostas