这篇文章主要介绍“linux下实现mysql自动备份的脚本”,在日常操作中,相信很多人在linux下实现mysql自动备份的脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下实现mysql自动备份的脚本”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

脚本放在 /home/user/_backup.sh

crontab

# crontab -l

# m h dom mon dow command

28 16 * * * /home/user/mysql_backup.sh

脚本如下

#!/bin/sh#mysql_backup.sh:backupmysqldatabasesandkeepnewest5daysbackup.##Lastupdated:20March2006#----------------------------------------------------------------------#ThisisafreeshellscriptunderGNUGPLversion2.0orabove#Copyright(C)2006SamTang#Feedback/comment/suggestions:http://www.real-blog.com/#----------------------------------------------------------------------#yourmysqllogininformation#db_userismysqlusername#db_passwdismysqlpassword#db_hostismysqlhost#-----------------------------db_user="root"db_passwd="password"db_host="localhost"#thedirectoryforstoryyourbackupfile.backup_dir="/home/mybackup"#dateformatforbackupfile(dd-mm-yyyy)time="$(date+"%d-%m-%Y")"#mysql,mysqldumpandsomeotherbinspathMYSQL="/usr/local/mysql/bin/mysql"MYSQLDUMP="/usr/local/mysql/bin/mysqldump"MKDIR="/bin/mkdir"RM="/bin/rm"MV="/bin/mv"GZIP="/bin/gzip"#checkthedirectoryforstorebackupiswriteabletest!-w$backup_dir&&echo"Error:$backup_dirisun-writeable."&&exit0#thedirectoryforstorythenewestbackuptest!-d"$backup_dir/backup.0/"&&$MKDIR"$backup_dir/backup.0/"#getalldatabasesall_db="$($MYSQL-u$db_user-h$db_host-p$db_passwd-Bseshowdatabases)"fordbin$all_dbdo$MYSQLDUMP-u$db_user-h$db_host-p$db_passwd$db|$GZIP-9>"$backup_dir/backup.0/$time.$db.gz"done#deletetheoldestbackuptest-d"$backup_dir/backup.5/"&&$RM-rf"$backup_dir/backup.5"#rotatebackupdirectoryforintin43210doif(test-d"$backup_dir"/backup."$int")thennext_int=`expr$int+1`$MV"$backup_dir"/backup."$int""$backup_dir"/backup."$next_int"fidoneexit0;

备注:

mysql是以mysql用户身份运行的,对/home /mybackup不可写也会失败

chmod 777 /home/mybackup问题解决了

到此,关于“linux下实现mysql自动备份的脚本”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!