mysqldump 备份数据库脚本
创建备份数据库脚本mysql_backup.sh,内容如下:
#!/bin/bash export PATH=/bin:/usr/bin:/usr/local/bin TODAY=`date +"%d%b%Y"` ################################################################ ################## Update below values ######################## DB_BACKUP_PATH='/backup/dbbackup' #先创建该目录 MYSQL_HOST='localhost' MYSQL_PORT='3306' MYSQL_USER='root' MYSQL_PASSWORD='密码' DATABASE_NAME=‘数据库名' BACKUP_RETAIN_DAYS=15 ## Number of days to keep local backup copy ################################################################# mkdir -p ${DB_BACKUP_PATH}/${TODAY} echo "Backup started for database - ${DATABASE_NAME}" mysqldump -h ${MYSQL_HOST} \ -P ${MYSQL_PORT} \ -u ${MYSQL_USER} \ -p${MYSQL_PASSWORD} \ ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz if [ $? -eq 0 ]; then echo "Database backup successfully completed" else echo "Error found during backup" fi ##### Remove backups older than {BACKUP_RETAIN_DAYS} days ##### DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"` if [ ! -z ${DB_BACKUP_PATH} ]; then cd ${DB_BACKUP_PATH} if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then rm -rf ${DBDELDATE} fi fi ### End of script ####
脚本创建完成之后,需要添加定时任务到crontab里,定时执行该脚本来备份数据库。
*******VICTORY LOVES PREPARATION*******