转至:http://home.phpchina.com/space.php?uid=82784&do=blog&id=143280
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0/3 6-12 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.
**********以上内容来自网络**********
===========================================================
输入crontab -e命令后 按a、i键进入编辑状态,设定好执行任务后,
按insert、Esc键退出编辑状态,然后按shift+:组合键,输入命令wq保存退出。
建立任务的执行日志:
*/1 * * * * php /usr/local/apache2/htdocs/corn/wirte.php 2>>/usr/local/apache2/htdocs/corn/testinfo
2> 1个大于号只是记录一条,覆盖原来的信息,2个大于号会将信息追加记录
查看:vi /usr/local/apache2/htdocs/corn/testinfo
=======================================================================
分享到:
相关推荐
### crontab与shell脚本知识点 #### 一、Crontab基础知识 1. **Crontab介绍**: - `crontab`是Linux系统中的一个守护进程(daemon),用于执行计划任务。 - 用户可以使用`crontab`命令来创建、编辑或删除计划...
这个是我的东西 下载下来方便调试 大家也可以下载是一个crontab程序
这样,整个shell脚本将每`step`秒执行一次,而无需在`crontab`中设置多个条目。这种方法更灵活且易于维护。 例如,一个简单的shell脚本可能如下所示: ```bash #!/bin/bash step=2 # 间隔的秒数,不能大于60 for ...
毕业设计_使用shell+crontab+树莓派开发的5v电扇控制器项目_项目实战_优质项目
在Linux系统中,`crontab`是一个强大的定时任务调度命令,用于设置周期性被执行的任务。当`crontab`任务执行完成后,系统默认可以通过`mail`命令将任务的输出结果发送给用户。然而,在某些情况下,可能会遇到`...
在给定的压缩包文件中,我们聚焦于三个关键的Shell工具:awk、sed和crontab。下面将详细介绍这三个工具及其在Linux环境中的应用。 1. **awk**: - **基本概念**:awk是一种强大的文本分析工具,用于处理和打印数据...
在本文中,我们将详细介绍 Crontab 的使用,并将其与 MySQL 的备份结合,实现自动定时启动 MySQL 备份 shell 脚本。 什么是 Crontab Crontab 是一个在 Unix 和类 Unix 系统中用于计划作业的工具。它允许用户在指定...
- 使用`crontab`命令将`date.cron`文件安装为cron任务: ```shell crontab date.cron ``` - 查看已安装的cron任务: ```shell crontab -l ``` #### 五、总结 通过上述步骤,我们可以成功地在Linux系统中...
### Crontab在Linux Shell中的应用 #### 一、Crontab概述 Crontab是Linux系统中的一个非常重要的工具,用于安排周期性任务。它允许用户设置定时执行的脚本或命令,使得某些任务可以自动地在指定的时间运行。 ####...
为了实现定期自动同步,可以使用crontab来安排周期性的同步任务。 1. **创建密码文件**: - 创建一个包含密码的文件: ```shell echo "pwd123" > /etc/server.pass ``` 2. **设置密码文件权限**: - 确保密码...
然而,有时我们可能会遇到这样的问题:在终端中能够正常运行的shell脚本(`.sh` 文件),在通过`crontab` 安排时却无法执行。这通常涉及到环境变量、权限、脚本内容等多个方面的问题。以下是一些可能导致此类问题的...
此外,crontab中运行的程序会被送到shell执行,该shell仅具有三个环境变量:USER, HOME, SHELL。因此,如果脚本中需要其他环境变量,需要在脚本中显式地设置。 需要注意的是,在生产环境中,一些任务的调度需要谨慎...
它提供了Bash shell和大量的Linux命令行工具,使得在Windows环境下也能执行类似Linux的操作。对于熟悉Linux的用户,Cygwin可以极大地提高工作效率,如系统维护、数据备份和SCP同步等。对于初学者,Cygwin也是一个在...
crontab -e ``` 然后在打开的编辑器中设置一个定时任务,如每隔600秒执行一次解锁操作: ```shell */10 *** /sbin/pam_tally2 --user user --reset ``` 这个cron任务表示每10分钟执行一次,解锁指定的`user`用户...
shell 定时器的规则是通过 crontab 文件来实现的。crontab 文件中包含了五个字段,分别是分钟、小时、日、月、星期。每个字段都可以使用特定的符号来表示不同的时间范围。 * `*`:表示每分钟、每小时、每天、每月、...
在 Linux 中使用 crontab 自动清除日志的方法是通过编写一个 shell 命令,然后在 cron 中编写定时任务。例如,以下是一个删除 30 天前的日志文件的 shell 命令: find /opt/soft/log/ -mtime +30 -name "*.log" -...
项目流量过大时,数据新增变更量大,及时入库会出现同时给一张表做新增、修改,从而导致锁表,这时候可以将修改导成sql文件后入库,来缓解数据库压力
在Linux Shell编程中,`eval` 和 `crontab` 是两个非常重要的工具,它们各自服务于不同的目的。本文将深入探讨这两个命令的工作原理及其应用场景。 `eval` 命令在Shell中扮演着执行字符串作为命令的角色。它会对...
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 ro
一、编写Shell脚本crontab.sh #!/bin/bash step=1 #间隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do $(php '/home/www/php/crontab/crontab.php') sleep $step done exit 0 二、crontab -e ...