Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Crontab e Backup

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    910

    Crontab e Backup

    Ciao a tutti, premetto che conosco appena linux ed ho una distr. Mandriva 2006 ed ho i permessi di root


    vorrei sfruttare le potenzialità di cron per fare il backup giornaliero della cartella /var/www/html e il dump di mysql (credo /usr/lib/mysql)

    La particolarità e che vorrei che venissero creati questi due file (zippati o meno) avendo per nome la data del backup stesso (sia per una questione di praticità sia per evitare di sovrascriverli)

    Come faccio a realizzarlo?
    Come faccio a copiarli su un hd esterno?
    Magari è possibile anche copiarli su di un server ftp in mio possesso o via mail(insomma lontano dal server stesso,


    grazie mille per le eventuali risposte.

    P.S vi pregherei di essere molto comprensivi, finora ciò che sono riuscito a fare e
    solo inserire da webmin il seguente comando:
    codice:
    wget -q -O /dev/null/ -nd http://localhost/prova.php
    per fare il controllo ogni minuit e stampare dei documenti

  2. #2
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    891
    Questo è un vecchio script che fa il backup su un disco esterno (non guardare la sicurezza e gli errori implementativi) va migliorato e modificato ma puoi prenderlo come spunto
    codice:
    #!/bin/bash
    #Script per il backup su disco esterno del database e della root del web-server
    #Comandi base
    #mysqldump -l --all-databases -h 127.0.0.1 -u root --password=administrator > /media/sda1/backup/database.sql
    #cp -R /home/armando/public_html /media/sda1/backup
    #Test strutture di controllo
    
    logfile="/var/log/backup.log"
    backupdir="/media/sda1/backup"
    prevlog=$(less $logfile)
    
    if [ -w $backupdir ] ; then
            echo "Sto scrivendo il backup sul disco esterno"
            #dump db mysql
            mysqldump -l --all-databases -h 127.0.0.1 -u root --password=password > /media/sda1/backup/database.sql
            #copia della root (sovrascrive la precedente)
            cp -R /home/armando/public_html /media/sda1/backup 2> /var/log/backup.log
            #Scrittura log
            echo -e "$prevlog\n[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%k):$(date +%M)] - Backup eseguito correttamente" > $logfile
    else
            #Scrittura log
            echo -e "$prevlog\n[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%k):$(date +%M)] - Il disco non è montato, o la cartella non esiste." > $logfile
            echo "Disco non montato"
            exit 1
    fi
    exit 0
    Per imparare a programmare Bash fatti un giro all'indirizzo http://www.pluto.it/files/ildp/HOWTO...tro-HOWTO.html
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    910
    ti ringrazio per il postm mi metto subito a lavoro...
    ma esattamente dove devo salvare questo file bash e con quale estensione?

    P.S poi nel crontab devo solo indicare il file che ho (hai) appena creato e, l'intervallo di tempo?

    grazie ancora

  4. #4
    lo salvi come nomefile.sh , importante che tu gli dia i permessi di escuzione per l'utente che lancia il backup , poi li puoi mettere un pò dove ti pare , io per esempio li tengo sul disco dove vengono effettuati i salvataggi .Poi con cron tab fai come hai detto .
    Vedrai se impari due o tre comandi con bash fai degli sciptini utili per il backup .
    Ora non li ho sotto mano , ma domani tè li passo .
    Powered By Debian-Sid Kde-3.5.8 Kernel-2.6.22-1

  5. #5
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    891
    Io su ubuntu l'ho messo tra gli script di shutdown della macchina, quindi ogni volta che spengo il computer mi fa il backup sul disco esterno.
    oTTony ha già spiegato alla perfezione in fatto di permessi e posizionamenti e non ho niente da aggiugere.
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    910
    @oTToni, apsetto con ansia i tuoi script.

    Diciamo che quello che mi avete getilmente passato funziona alla meraviglia, addirittura (senza conoscere nulla di bash) sono riuscito a fare il backup del db su un pc windows in lan e rinominarlo con la data corrente.
    l'unico (ma fondamentale) pasaggio che mi sfugge e come inserirlo nel crontab per decidere la frequenza con cui deve essere fatto l'aggiornamento,
    ho provato sempre da webmin (ancora ho poco dimestichezza con la shell) a dare i permessi di root ed assegnare come comando:
    codice:
    wget -q -O /dev/null/ -nd /root/Documents/backup.sh //(il file che mi avete postato)
    //idem
     /root/Documents/backup.sh
    ma se lo lancio sempre da webmin mi dice che non produce alcun output alcontrario se lo inserisco nella shell funziona alla grande, ma ovviamente non è automatizzato.

    In attesa che OTTOni posti gentilmente i suoi script, volevo sapere se qualcunaltro è riuscito a fare il dump di un db hostato su aruba (o cmq in remoto) e via ftp della cartella sempre su hosting esterno.

    Grazie mille, siete stati fin troppo gentili.

  7. #7
    No io non ho mai provato a fare il backup di un db da remoto , anche perchè io i miei db li ho sul mio server , ma non penso sia nulla di imposssibile .

    Questo è uno script per fare il dump di mysql in locale :
    # BackUp Mysql Database
    #!/bin/bash
    FILE=/mnt/back/nomefile.sql
    NAME=root
    PASS=xxxxx
    DB=dbname
    echo "Content-type: text/plain"
    echo "Tried to export file: "$FILE
    mysqldump --quote-names -u $NAME --password=$PASS $DB > $FILE #

    tar zxvf backupfile.tgz (se compresso) # sql nomedatabase < backupfile
    Funziona testato e ritestato più volte.

    Questo è uno script per salvare la home:
    #!/bin/bash
    # backup #
    # Semplice Script di BackUp per Directory
    # Parametri da impostare
    # Backup_Dirs="/dir/source/"
    # Backup_Dest_Dir=/dir/back/
    # Backup_Date=`date +%b%d%Y` / formato data
    #------------------------------------------------------------
    Backup_Dirs="/home/server /home/sergio"
    Backup_Dest_Dir=/mnt/back/
    Backup_Date=`date +%d%m%Y-%I%M`
    # Create tar file with todays Month Day Year prepended for easy identification
    tar cvzf $Backup_Dest_Dir/server-$Backup_Date.tar.gz $Backup_Dirs > /dev/null
    echo "END BACKUP $Backup_Date"
    exit 0
    Powered By Debian-Sid Kde-3.5.8 Kernel-2.6.22-1

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    910
    grazie ancora ma con quello che mi avevate postato riuscivi già tranquillamente a fare il backup del db e della cartella pubblica che risiede sul mio server.

    Ora, magari per voi è scontato , per me no, creato questo file bash, lo inserisco ad esempio in /root/Document/backup.sh

    ma in cron come commando che diamine devo mettere??
    ...fin'ora ho lanciato il file bash sirettamente incollandolo nella shell.


    P.S e poi nn ti scoccio più se vredi sia una cosa fattibile epoco impegnativa, mi posteresti un file bash che si colleghi via ftp ad un server (in remoto) e mi faccia il backup, così per il suo relativo db (es. indirizzo 62.150.34.711)


    grazie ancora

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    910
    up please

  10. #10
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    891
    cron non l'ho mai usato, dal manuale dice che basta configurare crontab e riuscirai a far partire lo script.
    Prova a dare un'occhiata ai manuali digitando da shell:

    codice:
    man cron
    e
    codice:
    man crontab
    Purtroppo non ho la più pallida idea di come funzioni cron.
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.