Outils pour utilisateurs

Outils du site


linux:scripts_bash:exemples:sqldump

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:scripts_bash:exemples:sqldump [19/08/2010 14:39] – créée daniellinux:scripts_bash:exemples:sqldump [19/08/2010 14:54] (Version actuelle) – aj guill daniel
Ligne 13: Ligne 13:
 # la liste des bases (faut virer la 1re ligne qui est le titre "Database") # la liste des bases (faut virer la 1re ligne qui est le titre "Database")
 LISTDB="$(mysql --defaults-file=/etc/mysql/debian.cnf -e 'show databases;'|sed -e '1d')" LISTDB="$(mysql --defaults-file=/etc/mysql/debian.cnf -e 'show databases;'|sed -e '1d')"
-DUMPREP=/home/mysqldump+DUMPREP=/backup/mysqldump
 FICHLOG=/var/log/mysqldump.log FICHLOG=/var/log/mysqldump.log
-DF_PATTERN_PARTITION='/\/$/'ici, DUMPREP est sur la partition /, si partition home, mettre DF_PATTERN_PARTITION='/\/home$/' +DF_PATTERN_PARTITION='/\/backup$/' # parce que DUMPREP est sur une partition /backup séparée 
-MIN_SIZE=90+DF_PATTERN_PARTITION='/\/$/'; # si DUMPREP est sur la partition / 
 +# Le % max d'occupation de la partition concernée 
 +MAX_OCCUP=90
  
 if [ ! -d $DUMPREP ] if [ ! -d $DUMPREP ]
Ligne 35: Ligne 37:
 # pas de else, on laisse la locale courante # pas de else, on laisse la locale courante
 fi fi
- 
  
 cd $DUMPREP cd $DUMPREP
Ligne 44: Ligne 45:
    # on vérifie qu'il reste de l'espace disque    # on vérifie qu'il reste de l'espace disque
    occup=$(df |sed -e "$DF_PATTERN_PARTITION"' !d; s/[^ ]* *[^ ]* *[^ ]* *[^ ]* *\([0-9]*\)%.*/\1/')    occup=$(df |sed -e "$DF_PATTERN_PARTITION"' !d; s/[^ ]* *[^ ]* *[^ ]* *[^ ]* *\([0-9]*\)%.*/\1/')
-   if [ $occup -lt $MIN_SIZE ]+   if [ $occup -lt $MAX_OCCUP ]
    then    then
      nom=${base}_$(date '+%A')      nom=${base}_$(date '+%A')
Ligne 54: Ligne 55:
        /usr/bin/mysql $OPTS -e 'show master status'|awk 'END {print $1 " " $2}' >> $FICHLOG        /usr/bin/mysql $OPTS -e 'show master status'|awk 'END {print $1 " " $2}' >> $FICHLOG
    else      else  
-     echo "Plus assez de place (< $MIN_SIZE) pour dump sql"+     echo "Plus assez de place (< $MAX_OCCUP) pour dump sql"
    fi    fi
 done done
Ligne 61: Ligne 62:
 for base in $LISTDB for base in $LISTDB
 do do
-  nom=${base}_$(date '+%A')+  nom="${base}_$(date '+%A')"
   [ -f "$nom.sql" ] && nice bzip2 -f "$nom.sql"   [ -f "$nom.sql" ] && nice bzip2 -f "$nom.sql"
   # copie avec le nom du mois si on est le 1er   # copie avec le nom du mois si on est le 1er
-  if [ $(date '+%d') == '01' ]+  if [ "$(date '+%d')== '01' ]
   then   then
-    nom2=${base}_$(date '+%B'+    nom2="${base}_$(date '+%B')" 
-    cp -a $nom.sql.bz2 $nom2.sql.bz2+    cp -a "$nom.sql.bz2" "$nom2.sql.bz2"
   fi   fi
 done done
 echo "$(date '+%F_%T') END script $0">>$FICHLOG echo "$(date '+%F_%T') END script $0">>$FICHLOG
 </code> </code>
linux/scripts_bash/exemples/sqldump.1282221560.txt.gz · Dernière modification : 19/08/2010 14:39 de daniel