Crontab定时任务
基本语法
crontab [选项]
任务的要求
设置任务调度文件:/etc/crontab
设置个人任务调度。执行 crontab –e 命令。接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令
补充:>重定向。把to.txt文件重新写入
>> 在to.txt文件的末尾写入。
参数细节说明
任务调度的几个应用实例
案例 1:每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
1)先编写一个文件 /home/mytask1.sh date >> /tmp/mydate
2)给 mytask1.sh 一个可以执行权限
chmod 744 /home/mytask1.sh
3)crontab -e
4)*/1 * * * * /home/mytask1.sh
5)成功
案例 2:每隔 1 分钟, 将当前日期和日历都追加到 /home/mycal 文件中
1)先编写一个文件 /home/mytask2.sh
date >> /tmp/mycal cal >> /tmp/mycal
2)给 mytask1.sh 一个可以执行权限
chmod 744 /home/mytask2.sh
3)crontab -e
4)*/1 * * * * /home/mytask2.sh
5)成功
案例 3: 每天凌晨 2:00 将 mysql 数据库 testdb ,备份到mydb.bak文件中
1)先编写一个文件 /home/mytask3.sh
/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak
2)给 mytask3.sh 一个可以执行权限
chmod 744 /home/mytask3.sh
3)crontab -e
4)0 2 * * * /home/mytask3.sh
5)成功
crond 相关指令
1)conrtab –r:终止任务调度。
2)crontab –l:列出当前有那些任务调度
3)service crond restart [重启任务调度]
查看crontab的日志记录
使用/var/log/cron.log这个文件查看。
tail -f /var/log/cron
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
清理程序日志的脚本
find /ceshi/ -mtime -1 -type d -name "202*" -exec rm -rf {} \;
说明:
一个强大的linux命令——find之exec
exec解释:
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
{} 花括号代表前面find查找出来的文件名。
使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。 exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。
crontab任务设定
*/1 * * * * /ceshi/crontabceshi.sh