您的位置:首页 > 运维架构 > Linux

Linux-crontab定时执行sh脚本进行数据库备份

2018-01-23 11:08 549 查看
首先在指定的目录里新建sh脚本,并在脚本里面编写mysql数据库备份语句,然后使用crontab定时执行,话不多说,直接开始命令
一、编写sh脚本
       #
cd /usr/local
# mkdir scripts
# cd ./scripts
# vi mysql_full_bak.sh
在sh脚本写上简单的备份语句,按i进行编辑
例如:

user=root
passwd=123456
databak_dir=/usr/local/databackup
DATE=`date +\%Y\%m\%d`
database=gnclass 
cd /usr/local/databaskup
dumpFile=$database$DATE.sql
options="-u$user -p$passwd -h192.168.10.10 $database"
mysqldump $options > $dumpFile

或者最简单的写法: mysqldump -uroot -p123456 -h192.168.10.10 gnclass > /usr/data/gnclass.sql
如果只需要备份数据表结构,则可以加‘-d’
例如: mysqldump -uroot
-p123456 -d -h192.168.10.10 gnclass > /usr/data/gnclass.sql
按Esc, 输入:wq保存退出

二、启动crontab并设定执行时间
# service crond start (如果已经启动了则忽略)
# crontab -e
按i进行编辑,格式: * * * * * 脚本位置及名称
30 3 * * * /usr/local/scripts/mysql_full_bak.sh (表示每天凌晨3点半执行一次脚本)
第一个*,表示在哪分钟执行(0-59)
第二个*,表示在哪小时执行(0-23)
第三个*,表示在哪天执行(1-31)
第四个*,表示在哪个月执行(1-12)
第五个*,表示在周几执行(0-6)
更详细的用法可以参考: https://jingyan.baidu.com/article/f54ae2fcce2f8e1e92b849c9.html
按Esc, 输入:wq保存退出就可以了

如果想要恢复数据库,编辑sh脚本时可以这么写:
mysql -uroot -p123456 -h192.168.10.10 gnclass < /usr/data/gnclass.sql

转载出处:http://blog.sina.com.cn/s/blog_9912660e01031crj.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: