Script bash per il backup automatico Mysql , Apache, Email - Roberto D'Alessio
I'm specialize in .NET, JAVA, PHP, iPhone App Development, Android App Development, iPad App Development, iOS Development,web design, web developer, web development and IT Solution
iphone development, iphone app development, ipad app development, android development, android app development, iphone app developers, iphone application development, android application development, mobile app development, italy outsource, italy outsourcing company, italy outsourcing companies, italy outsourcing, italy software outsourcing, Italy offshore, software outsourcing, Software testing companies, web design, web developer, web development, IT Solution, wordpress, joomla, angular, angularjs, angular.js, nodejs, node.js, socketio, socket.io, react, ionic, xamarin, hybrid app, web site, development site, site development
30
wp-singular,post-template-default,single,single-post,postid-30,single-format-standard,wp-theme-bridge,cookies-not-set,qode-quick-links-1.0,ajax_fade,page_not_loaded,,qode_grid_1300,qode-content-sidebar-responsive,qode-theme-ver-11.1,qode-theme-bridge,wpb-js-composer js-comp-ver-8.4.1,vc_responsive

Script bash per il backup automatico Mysql , Apache, Email

Script bash per il backup automatico Mysql , Apache, Email

 #!/bin/bash # Script per la creazione di backup dei database MySQL e della directory /var/www  #Definisco le variabili contenenti le credenziali di accesso MyUSER="USER"   # Nome Utente di MySQL MyPASS="PASSWORD"   # Password di MySQL MyHOST="localhost"      # Nome Host sul quale gira MySQL  MySourceDir="/var/www/virtual/" # Directory soggetta a backup Email="/var/mail/virtual/"  #Utilizzo which per recuperare il path dei comandi che utilizzo e fare in modo #che lo script sia il piu' flessibile possibile MYSQL="$(which mysql)" MYSQLDUMP="$(which mysqldump)" CHOWN="$(which chown)" CHMOD="$(which chmod)" GZIP="$(which gzip)" TAR="$(which tar)" DAY="$(date +%a)" DEST="/home/backup/"            #Imposto la directory principale per il backup HOST="$(hostname)"        #Recupero il nome dell'host NOW="$(date +"%Y-%m-%d")" #Recupero la data odierna nel formato YYYY-MM-DD MBD="$DEST/$NOW/mysql-$NOW"    #Imposto la directory all'interno della quale saranno                           #posti i backup dei database di MySQL DIRDEST="$DEST/$NOW/web-$NOW"  #Imposto la directory entro la quale sare' posto il                           #backup della root directory di Apache EMAILDEST="$DEST/$NOW/mail-$NOW" #Bakup email   # Variabile che definisce all'interno di quale file effettuare il backup FILE="" # Variabile dove memorizzo i nomi dei DB presenti DBS=""  # Lista dei database da escludere dal backup IGGY="test"  [ ! -d $MBD ] && mkdir -p $MBD || :  # Imposto i permessi in modo che solo root possa accedere ai backup $CHOWN 0.0 -R $DEST $CHMOD 0600 $DEST  #Procedo con la creazione del backup della Source_Dir sopra specificata  # Recupero la lista di tutti i database DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"  #Procedo con la creazione dei dump di ogni singolo database for db in $DBS do     skipdb=-1     if [ "$IGGY" != "" ];     then         for i in $IGGY         do             [ "$db" == "$i" ] && skipdb=1 || :         done     fi      if [ "$skipdb" == "-1" ] ; then         FILE="$MBD/$db.$HOST.$NOW.gz"         $MYSQLDUMP  --skip-lock-tables -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE         echo "Backup del Database $db completo!"     fi done  #Procedo con la creazione del backup della Source_Dir sopra specificata  echo "Inizio Backup di $MySourceDir"  [ ! -d $DIRDEST ] && mkdir -p $DIRDEST || :  WDS=`dir $MySourceDir`  if [ $DAY == "Mon"  ] then                 for w in $WDS        do         FILE="$DIRDEST/source-$w.tar.gz"         $TAR -czvf $FILE $MySourceDir/$w/*         #$TAR -czpf  - $MySourceDir/$w/* | ssh root@5.9.148.135 "cat > /srv/242/$FILE "        done        else        for w in $WDS      do         FILE="$DIRDEST/source-$w.tar.gz"         #$TAR -czvf $FILE $MySourceDir/$w/*         $TAR -czpf $FILE  -N "$(date -d '1 day ago')"  $MySourceDir/$w/*         #echo "Inizio verifica del backup creato"         #tar --diff --compare --verbose -f $DIRDEST/source-$w-$NOW.tar.gz         echo "Backup di /var/www completo!"      done           fi  echo "Inizio Backup di $EMAILDEST"  [ ! -d $EMAILDEST ] && mkdir -p $EMAILDEST || :  WES=`dir $Email`  for w in $WES do         FILE="$EMAILDEST/mail-$w-$NOW.tar.gz"         $TAR -czpf $FILE $Email/$w/* done  #scp -r /home/backup/$NOW  root@IP:/backup/$NOW  sftp root@IP << EOI   cd  /backup/   mkdir   $NOW   cd $NOW   mkdir  mysql-$NOW   mkdir mail-$NOW   mkdir web-$NOW  put -r $DEST/$NOW/mysql-$NOW/*  /backup/$NOW/mysql-$NOW  put -r $DEST/$NOW/mail-$NOW/*  /backup/$NOW/mail-$NOW  put -r $DEST/$NOW/web-$NOW/*   /backup/$NOW/web-$NOW EOI   rm  -Rf  /home/backup/ 

My Instagram feed