原文: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