Configurare script de backup pentru mysql, în linux server

Configurare noua (How To)

Situatie

Pentru că ne dorim ca bazele noastre de date din mysql să fie în siguranță trebuie să implementăm o soluție backup.

În acest tutorial se va utiliza un script bash care va rula zilnic cu ajutorul cron.

Solutie

Pasi de urmat

Alegem destinatia unde se va crea scripul nostru bash dupa care creăm un fișier cu numele backupmysql și extensia .sh

$ mkdir /bkp/

$ nano /bkp/backupmysql.sh

În backupmysql.sh încărcăm următorul cod bash:

backupparentdir=”/bkp”
mysql_user=”root”
mysql_password=”passwordrootmysql”

# Read MySQL password
if [ -z “${mysql_password}” ]; then
echo -n “MySQL ${mysql_user} password: ”
read -s mysql_password
echo
fi

# Check MySQL
echo exit | mysql –user=${mysql_user} –password=${mysql_password} -B 2>/dev/null
if [ “$?” -gt 0 ]; then
echo “MySQL ${mysql_user} password incorrect”
exit 1
else
echo “MySQL ${mysql_user} password correct.”
fi

# Backup Data
backup_date=`date +%Y_%m_%d_%H_%M`
backup_dir=”${backupparentdir}/${backup_date}”
echo “Backup: ${backup_dir}”
mkdir -p “${backup_dir}”
chmod 755 “${backup_dir}”

mysql_databases=`echo ‘show databases’ | mysql –user=${mysql_user} –password=${mysql_password} -B | sed /^Database$/d`

for database in $mysql_databases
do
if [ “${database}” == “information_schema” ] || [ “${database}” == “performance_schema” ]; then
additional_mysqldump_params=”–skip-lock-tables”
else
additional_mysqldump_params=””
fi
echo “Backup “${database}” database”
mysqldump ${additional_mysqldump_params} –user=${mysql_user} –password=${mysql_password} ${database} | gzip > “${backup_dir}/${database}.gz”
chmod 655 “${backup_dir}/${database}.gz”
done

 

Se modifică

backupparentdir=”/bkp”
mysql_user=”root”
mysql_password=”passwordrootmysql”

Configurare cron ( $ crontab -e ) unde adaugăm:

În fiecare zi la ora 2 AM cron rulează scriptul bash din /bkp/backupmysql.sh
0   2   *   *   1  /bkp/backupmysql.sh

Tip solutie

Permanent

Voteaza

(1 out of 3 people found this article helpful)

Despre Autor

Leave A Comment?