linux下脚本定时备份数据库

原文:https://blog.csdn.net/ruijiao_ren/article/details/79517086 

一、常用的命令如下:

1、编辑一个新的crontab任务

    crontab -e

2、查看编写后的crontab任务

    crontab -l

3、重启contab任务服务

    service crond restart

4、查看contab任务状态

    service crond status

5、重新载入配置

    service crond reload

6、关闭服务

    service crond stop

7、启动服务

    service crond start

8、crontab时间格式

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
--------------------- 

二、使用命令实现一个数据库定时备份任务:

1:创建备份的目录

cd  /home

mkdir backup

cd backup

2:创建备份的shell脚本

vi backup.sh

#!/bin/bash 
#备份保存路径 
backup_dir=/home/yiqiliuliu/mysqlbackup
#日期 
dd=`date +%Y%m%d%H`
#用户名 
username="root"
#密码 
password="123456"
#将要备份的数据库 
database_name="hcgx"
   
#简单写法  mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.dump
#mysqldump命令所在路径,可以先find / -name mysqldump 查找出来位置

#在这边要注意一下,执行mysqldump的时候,一定要加上完整的路径,一般这种备份文件的脚本都是放在crontab中,定时执行的。而你如果直接使用mysqldump,不加上完整的路径的话,会出现crontab的定时任务不能自动执行,但是手动执行脚本一直能成功,这就涉及到crontab的环境变量问题了,有兴趣进一步了解的的话,传送门在此,http://blog.csdn.net/dancen/article/details/24355287
/usr/local/mysql/bin/mysqldump -u$username -p$password $database_name | gzip > $backup_dir/$database_name-$dd.sql.gz 
   
#写创建备份日志 
echo "create $backup_dir/$database_name-$dd.sql.gz " >> $backup_dir/log.txt
   
#找出需要删除的备份 

find $backup_dir/ -name "*.sql.gz" -type f -mtime +1 -exec rm {} \;

3:给sh添加可执行的权限

chmod u+x backup.sh

4:添加定时任务

检测或安装 crontab

确认crontab是否安装:

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

执行命令:、

crontab -e 

输入以下内容并保存:这时就像使用vi编辑器一样,可以对计划任务进行编辑。

* * * * *  /home/yiqiliuliu/yiqiliuliu.sh

每分钟执行一次定时任务

5:测试任务是否执行

很简单,我们就执行几次“ls”命令,看看一分钟过后文件有没有被创建就可以了!

如果任务执行失败了,可以通过以下命令查看任务日志:

# tail -f /var/log/cron

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值