mysql备份


备份是容灾的基础,由于上次数据库被攻击,现在必须要做定时备份

  • 1.先写脚本

创建并编辑文件 /usr/sbin/bakmysql.sh,命令:

vim  /usr/sbin/bakmysql.sh

#===============================

#用户名
db_user="root"
#密码
db_passwd="XXXX"
#数据库名
db_name="zhoujiim"
# 备份到这个路径下
backup_dir="/home/backup"
#按时间生产备份文件命名
time="$(date +"%Y%m%d%H%M%S")"

mysqldump -u$db_user  -p$db_passwd $db_name  > "$backup_dir/$db_name"_"$time.sql"
#压缩备份文件
mysqldump -u$db_user  -p$db_passwd $db_name | gzip  > "$backup_dir/$db_name"_"$time.sql.gz"

#===================================

  • 2.添加可执行权限
chmod +x /usr/sbin/bakmysql.sh
  • 3.执行下,看能不能备份成功
[root@localhost backup]# cd /usr/sbin/
[root@localhost sbin]# ./bakmysql.sh 
Warning: Using a password on the command line interface can be insecure.
Warning: Using a password on the command line interface can be insecure.

在命令行输入密码,就会提示这些安全警告信息。先暂时忽略,切换到备份文件路径下,已经成功了

-rw-r--r-- 1 root root 18881 4月  10 18:17 zhoujiim_20190410181714.sql
-rw-r--r-- 1 root root  4087 4月  10 18:17 zhoujiim_20190410181714.sql.gz
[root@localhost backup]# 

=====================================

  • 4.接下来得让它在定时任务里执行

======================================
执行 crontab 命令如果报 command not found,就表明没有安装。

我这里是安装有直接创建定时任务,

[root@localhost backup]# crontab -e

(1)加入命令,每天晚上10点执行

0 22 * * 0-6 /usr/sbin/bakmysql.sh 1>>/home/backup/expdp.log 2>&1

 

(2)crond 服务命令:

service crond start    //启动服务
service crond stop     //关闭服务
service crond restart  //重启服务
service crond reload   //重新载入配置
service crond status   //查看服务状态

(3)crontab时间格式内容:

*    *    *    *    *    command
M    H    D    m    d    command
分   时   日   月   周   命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令或脚本内容


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值