> Linux教程 > linux基础 >

关于linux例行任务crontab的使用

Linux 例行性任务(也叫周期性任务)命令使用:crontab
1.crontab -l   查看当前用户的任务
2.crontab -e  编辑(设置)当前用户的任务,执行行不用重启crond服务。
3.crontab -r  清除当前用户的任务,如果有多个任务的话,-r 参数会清除所有任务,如需清除某个具体的任务,需要执行crontab -e进行编辑

crontab例行性任务依赖于【crond服务】,crontab -e 编辑的文件,其实位于/var/spool/cron/xxx xxx代表用户名

参数说明:
*   *   *   *   *
分   时   日   月   周

【*】: 代表任何时刻都接受的意思!如果5个都为*的话,则代表每隔1分钟执行一次
【,】 : 代表分隔时段的意思。举例来说,如果要下达的工作是 9:00 与 12:00 时,就会是:0 9,12 * * * command
【-】: 代表一段时间范围内,举例来说, 9点到12点之间的每小时的10分都进行一项工作。就是会:10 8-12 * * * command 
          8-12代表 8,9,10,11,12 都适用的意思!
【/n】: 那个 n 代表数字,亦即是『每隔 n 单位间隔』的意思,例如每五分钟进行一次,则: */5 * * * * command
           用 * 与 /5 来搭配,也可以写成 0-59/5 ,相同意思!

实例一、要求每天凌晨3点在postgresql中执行一条sql、可以使用如下脚本

 
#!/bin/bash
#
export PGPASSWORD="postgres"
psql -U postgres -d qq_1351 << eof
delete from qq_5201351 where qq_state = 1;
\q
eof
 

给脚本加上执行权限、然后使用crontab -e编辑任务。

0 3 * * * /home/postgresql/db.sql >> /opt/log.log 2>&1

如果上面的>>后面直接跟的是文件名如log.log、则文件的位置就是脚本所在的/home/postgresql目录。





(责任编辑:IT)