Ciao a tutti,
allora è già da parecchio tempo che tento di risolvere questo problema.
In cosa consiste tutto ciò:
Allora, quello sotto è uno script di backup, presso un server ftp, di database e file di un forum molto grande (tenete conto che d'inverno stava oltre la 10mila visite, adesso sta sulla metà).
Il problema in cosa sta.
Il backup dei database funziona alla perfezione, nessun problema, tutto perfetto.
Il backup dei file, quando vado a scaricare l'archivio che mi serve, nell'estrarlo da il seguente errore:
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Error exit delayed from previous errors
L'archivio in locale lo fa benissimo e non da errori.
Il problema sta quando l'archivio passa sul server.
Quando lo scarico ed estraggo gli stessi file da quell'errore.
Non capisco cosa sia.
Eppure ho trovato altri script che fanno lo stesso lavoro di questo, uguali anche come comandi, ma nulla, da errori sull'archivio dei file.
Se avete soluzioni, dirmi se c'è qualcosa di sbagliato, un modo diverso di impostare lo script (anche fare due script non è un problema), usare metodi differenti rispetto l'archivio.
L'importante è risolvere.
Come ho già detto il sito è molto grande e non è stato affatto bello quando è arrivato il problema e il backup dei file non c'era.
Per fortuna ho risolto cambiando tutto il sito, però non è stato bello.
#! /bin/bash
NOW="$(date +"%d.%m.%Y")"
AGO="$(date --date '7 day ago' +"%d.%m.%Y")"
AGO1="$(date --date '8 day ago' +"%d.%m.%Y")"
AGO2="$(date --date '9 day ago' +"%d.%m.%Y")"
AGO3="$(date --date '10 day ago' +"%d.%m.%Y")"
AGO4="$(date --date '11 day ago' +"%d.%m.%Y")"
AGO5="$(date --date '12 day ago' +"%d.%m.%Y")"
AGO6="$(date --date '13 day ago' +"%d.%m.%Y")"
AGO7="$(date --date '14 day ago' +"%d.%m.%Y")"
cd /home/backup
mkdir db_$NOW
mysqldump -u username -h 127.0.0.1 -ppassword forumd > db_$NOW/forum_$NOW.sql
tar -cf db_$NOW.tar.gz db_$NOW
mkdir file_$NOW
cp -r /var/www file_$NOW
tar -cf file_$NOW.tar.gz file_$NOW
rm -fr db_$NOW file_$NOW
ftp -n indirizzo.server.ftp <<SCRIPT
user username password
bin
prompt
delete db_$AGO.tar.gz
delete file_$AGO.tar.gz
delete db_$AGO1.tar.gz
delete file_$AGO1.tar.gz
delete db_$AGO2.tar.gz
delete file_$AGO2.tar.gz
delete db_$AGO3.tar.gz
delete file_$AGO3.tar.gz
delete db_$AGO4.tar.gz
delete file_$AGO4.tar.gz
delete db_$AGO5.tar.gz
delete file_$AGO5.tar.gz
delete db_$AGO6.tar.gz
delete file_$AGO6.tar.gz
delete db_$AGO7.tar.gz
delete file_$AGO7.tar.gz
put db_$NOW.tar.gz /db_$NOW.tar.gz
put file_$NOW.tar.gz /file_$NOW.tar.gz
close
bye
SCRIPT
rm -f db_$NOW.tar.gz file_$NOW.tar.gz
exit