#!/bin/bash PROJNAME=Brun_Project #Ім'я проекту CHARSET=utf8 #Кодування бази даних DBNAME=brunif #Ім'я бази даних для резервного копіювання DBFILENAME=brun-dump #Ім'я дампа бази даних ARFILENAME=BackUp_Brun_Project #Ім'я архіву з файлами (автоматом дописуватимесь дата і година) HOST=localhost #Хост MySQL USER=root #Ім'я користувача бази даних PASSWD=your_secret_password #Пароль бази даних DATADIR=/home/brun/backup #Шлях, де будуть зберігатись резервні копії SRCFILES=/home/brun/project1 #Шлях до каталогу, для якого необхідно робити резервну копію PREFIX=`date +%F` #Префікс по даті для стуктурування резервниих копій #start backup echo "[--------------------------------[`date +%F--%H-%M`]--------------------------------]" echo "[----------][`date +%F--%H-%M`] Run the backup script..." mkdir $DATADIR/$PREFIX 2> /dev/null echo "[++--------][`date +%F--%H-%M`] Generate a database backup..." #MySQL dump mysqldump --user=$USER --host=$HOST --password=$PASSWD --default-character-set=$CHARSET $DBNAME > $DATADIR/$PREFIX/$DBFILENAME-`date +%F--%H-%M`.sql if [[ $? -gt 0 ]];then echo "[++--------][`date +%F--%H-%M`] Aborted. Generate database backup failed." exit 1 fi echo "[++++------][`date +%F--%H-%M`] Backup database [$DBNAME] - successfull." echo "[++++++----][`date +%F--%H-%M`] Copy the source code project [$PROJNAME]..." #Src dump tar -czpf $DATADIR/$PREFIX/$ARFILENAME-`date +%F--%H-%M`.tar.gz $SRCFILES 2> /dev/null if [[ $? -gt 0 ]];then echo "[++++++----][`date +%F--%H-%M`] Aborted. Copying the source code failed." exit 1 fi echo "[++++++++--][`date +%F--%H-%M`] Copy the source code project [$PROJNAME] successfull." echo "[+++++++++-][`date +%F--%H-%M`] Stat datadir space (USED): `du -h $DATADIR | tail -n1`" echo "[+++++++++-][`date +%F--%H-%M`] Free HDD space: `df -h /home|tail -n1|awk '{print $4}'`" echo "[++++++++++][`date +%F--%H-%M`] All operations completed successfully!"