ubuntu——Mysql自动备份脚本

来源:互联网 发布:网游加速器 for mac 编辑:程序博客网 时间:2024/06/10 23:54

首先先建立备份地址

sudo mkdir /baksudo mkdir /bak/mysqlbak

之后添加备份脚本,

vi /usr/local/mysql_backup.sh

之后输入:

#!/bin/bash#mysqldump 是用于备份的bash#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binBACK_DIR=/bak/mysqlbak #备份文件存放路径LINUX_USER=root #系统用户名DB_NAME=database_name #要备份的数据库名字DB_USER=root #数据库账号 注意:非root用户要使用备份参数 --skip-lock-tables,否则DB_PASS=************  #数据库密码cd $BACK_DIR #进入备份存放的目录DATE=`date +%Y%m%d` #获取当前系统的时间,注意:date写法BACK_SQL=$DATE.sql #备份数据库的文件名TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名mysqldump -u$DB_USER -p$DB_PASS $DB_NAME --opt -Q -R --skip-lock-tables > $BACK_SQLtar -czf $TAR_SQL ./$BACK_SQL #压缩为备份数据库文件为.tar.gz格式rm $BACK_SQL #删除.sql格式的备份文件chown $LINUX_USER:$LINUX_USER $BACK_DIR/$TAR_SQL #更改备份数据库文件的所有者

:wq保存推出后,​sudo chmod 777 /usr/local/mysql_backup.sh给予权限

之后终端中输入sudo select-editor,如图所示

Picture

一般来说选择vim,但是也可以自己选不同的编辑器

选完后,终端输入crontab -uroot -e,会跳出以下的界面

picture

在其中输入10 5 * * * /usr/local/mysql_backup.sh > /bak/mysqlbak/reason.log 2>&1
其中10和5代表分和时,即5:10,* * * 分别代表日、月、星期,以上内容总的来说就是每天5:10自动执行/usr/local/mysql_backup.sh > /bak/mysqlbak/reason.log 2>&1这条命令,如果想要每分钟执行一次的话,就改为* * * * * /usr/local/mysql_backup.sh > /bak/mysqlbak/reason.log 2>&1

所有的事情已经做完,这时只要重新启动crontab,/etc/init.d/cron restart

让我们来看一下效果,crontab -l

pircure

上图表示内容表示设置已经生效,之后就万事大吉,等着脚本自动帮你备份吧!~_~

1 0
原创粉丝点击