Você pode enviar uma série de comandos para lftp
e agrupá-los em um script de shell que calcula o nome dos arquivos antigos demais (veja o script abaixo).
TODAY=$(date --iso) # Today's date like YYYY-MM-DD
RMDATE=$(date --iso -d '6 days ago') # TODAY minus X days - too old files
FTPUSER=username
FTPPW=password # Better load this from an encrypted file
FTPSERVER=FQDN_or_IP
LFTP=/usr/bin/lftp # Path to binary
TMPDIR=$(mktemp -d) # Your archives are here
# CAUTION: mput -E deletes local files after upload
echo -n "Uploading files via FTP... "
$LFTP << EOF
open ${FTPUSER}:${FTPPW}@${FTPSERVER}
cd backups/${HOSTNAME}
mkdir ${TODAY}
cd ${TODAY}
mput -E ${TMPDIR}/*
cd ..
rm -rf ${RMDATE}
bye
EOF
echo "Done."
Certifique-se de que ninguém execute root
pode ler este script ou colocar as credenciais em outro lugar. TMPDIR
é o diretório onde os backups residem localmente. Claro que você precisa editar as partes óbvias.
HTH,
PEra