MySQL

From Anthony Pastor Wiki Notes - Verba volant, scripta manent
Revision as of 22:47, 15 April 2015 by Anthoanthop (talk | contribs)
Jump to navigation Jump to search
  1. !/bin/bash
  2. Sauvegarde serveur Linux

SVG_DIR='/sauvegarde/' mkdir ${SVG_DIR}

  1. Définition des paramètres FTP
  2. FTP_MACHINE=ftpbackffffffffffffff.ovh.net
  3. FTP_USER=mon_utilisateur_ftp
  4. FTP_PASSWORD=xxxxx
  1. ================ DUMP DE TOUTES LES BASES MYSQL ==================
  1. Identification de la base

USER=root PASSWORD=xxxxx

  1. Creation du répertoire racine

mkdir -p /var/export_sql

  1. Definition du repertoire racine

ROOT_DIRECTORY='/var/export_sql/'

  1. Definition du repertoire log

LOG_PREFIX_DIRECTORY='log/' LOG_FILENAME='dump_databases.log'

  1. Persistance des sauvegardes en nombres de jours

MTIME=100

  1. Variable globale concernant le répertoire cible des dumps

TARGET_PATH=${ROOT_DIRECTORY}

  1. Variable globale concernant les LOGS

LOG_DIRECTORY=${ROOT_DIRECTORY}${LOG_PREFIX_DIRECTORY} LOG_PATH=${LOG_DIRECTORY}${LOG_FILENAME}

  1. Exportation des bases de donnees
  1. Suppression des sauvegardes datant de plus de ${MTIME} jours

find ${TARGET_PATH}/* -mtime ${MTIME} -delete

  1. Définition du nom de fichier (pour dump complet)

DUMP_NAME=MySQL_Dump`date '+%Y%m%d_%H%M%S'`.sql /usr/bin/mysqldump -u ${USER} -p${PASSWORD} --all-databases > ${TARGET_PATH}/${DUMP_NAME}

  1. Copie du dernier dump dans le dossier de sauvegarde

cp -a ${TARGET_PATH}/${DUMP_NAME} ${SVG_DIR}/${DUMP_NAME}

  1. ============= Copie des dossiers/fichiers a sauvegarder ============
  1. Copie des fichiers de configuration d'apache

cp -a /opt/prod/apache ${SVG_DIR}/apache2_conf

  1. Copie des sites

cp -a /sites/ ${SVG_DIR}/

  1. Copie de la configuration de Bind
  2. cp -a /etc/bind ${SVG_DIR}/bind_conf
  3. cp -a /var/bind/ ${SVG_DIR}/var/bind/bind_conf
  4. cp -a /etc/hosts ${SVG_DIR}/hosts
  1. Copie du resolv.conf

cp -a /etc/resolv.conf ${SVG_DIR}/resolv.conf

  1. Copie des utilisateurs

cp -a /etc/passwd ${SVG_DIR}/passwd

  1. Copie des groupes

cp -a /etc/group ${SVG_DIR}/group

cp -a /etc/postfix ${SVG_DIR}/postfix cp -a /etc/amavis ${SVG_DIR}/amavis cp -a /etc/clamav ${SVG_DIR}/clamav cp -a /etc/courier ${SVG_DIR}/courier

  1. cp -a /home ${SVG_DIR}/home
  2. cp -a /etc/proftpd ${SVG_DIR}/proftpd

cp -a /etc/hostname ${SVG_DIR}/hostname


  1. ========= Archivage et suppression du dossier de backup =============

SVG_FILE=Backup_`date '+%Y%m%d_%H%M%S'`.tar.gz tar -czf ${SVG_FILE} ${SVG_DIR} rm -rf ${SVG_DIR}

  1. ========== Envoi du fichier en FTP et nettoyage =====================

ftp -vin ${FTP_MACHINE}<<EOF user ${FTP_USER} ${FTP_PASSWORD} binary mput ${SVG_FILE} Bye EOF

  1. Suppression du fichier de sauvegarde

rm -f ${SVG_FILE}