• User

    Problema script backup

    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
    

  • User Newbie

    tar cf->z per .gz
    tar cf->j per .bz2
    tar --lzma -cf per .lzma
    etc

    stai aggiungendo l'estensione .gz quando in realta` gli stai dando la cosa a caso senza digli di gzippare l'archivio

    Non e stato bello perche lo hai fatto senza passare da->
    unixhelp.ed.ac.uk/CGI/man-cgi?tar