crontab计划任务使用详解

crontab是一个linux下的定时执行工具,可以在无需人工干预的情况下自动执行计划任务。

crontab常用命令参数如下

crontab [-u user] file #省略-u用户,即表示操作当前用户crontab
-e (编辑计划任务表)
-l (列出当前计划任务表执行的任务)
-r (删除计划任务表)
-i (删除计划任务表前,提示确认)

编辑计划任务表:crontab -e,命令构成为“时间”+“动作”,时间有分、时、日、月、周五种。

时间操作符有:

* 取值范围内的所有数字 
/ 每过多少个数字
- 从X到Z
,散列数字

操作实例

1、每天早上6:05执行/home/robin/backup.sh

05 6 * * * /home/robin/backup.sh
继续阅读“crontab计划任务使用详解”

Linux下自动备份mysql数据库(附执行脚本程序)

开启数据库备份计划任务

#!/bin/bash
#crontab -e 启用定时任务 * 分 时 日 月 周
#0 3 * * * /var/www/database_mysql_backup.sh

配置计划任务database_mysql_backup.sh脚本

DATE=date +%Y%m%d%H%M              #every minute
DATABASE=wordpress              #database name
DB_USERNAME=root                      #database username
DB_PASSWORD=”root”                    #database password
BACKUP_PATH=/home/robin/mysql_backup   #backup path

#backup command

/usr/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R –opt $DATABASE | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz

#保留5天数据

find ${BACKUP_PATH} -mtime +5 -name“${DATABASE}_*.sql.gz” -exec rm -f {} \;

注意事项

  • 如果有多个数据库可以分别设定数据库名称、登录用户名、密码等项即可
  • 该计划任务是在服务器上执行的,所以IP地址填写的是127.0.0.1,如果是在其它终端上执行该任务,只需变更IP地址为服务器IP地址
  • 计划任务执行的sh脚本,可以放在任何地方,只需根据情况修改路径
  • BACKUP_PATH是备份文件的保存路径,根据情况替换成自己的路径