Linux上定时备份数据库MySQL

添加一个文件:

vi  /usr/njmlmysql/njmlsql.sh

在这里插入图片描述

写入:

#!/bin/sh

# Database info
DB_USER="root"
DB_PASS="********"
DB_HOST="119.29.164.212"
DB_NAME="niujinmali"

# Others vars
#数据库bin 
BIN_DIR="/usr/bin"            #the mysql bin path
#将备份的sql文件写入以下目录
BCK_DIR="/home/mysqlBackup"    #the backup file directory
#备份数据库的命名
DATE=`date +%F`

# TODO
# /usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql
#备份数据库
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql
#备份数据库为压缩文件
#$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql.gz



测试备份是否成功:

cd  /usr/njmlmysql

执行:

./njmlsql.sh

然后去home目录下看一下:(用winscp 登入ssh )
在这里插入图片描述
以上说明备份成功了。

写入一个定时启动任务:crontab -e

#每天5点执行备份 和每8个小时备份一次,一天备份四次
00 05 * * *    /bin/sh /usr/njmlmysql/njmlsql.sh
* */8 * * *    /bin/sh /usr/njmlmysql/njmlsql.sh

在这里插入图片描述

后话:
#!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。
其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。
比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,甚至/bin/echo等等。
#!/bin/bash同理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jason Ho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值