`

linux crontab 注意事项

阅读更多

转载:http://lyhm4.blog.163.com/blog/static/987767002010102734426756/

 

因为项目中遇到每隔5小时运行一次的程序,但我发现每天的5点,10点,15点和20点执行,接着第二天也是同样的时间--5点,10点,15点和20点执行,而不是我想象的隔5小时,google了一下才知道,原来crotab是按照安排任务的间隔周期精度的第一个时间点,也就是我安排每5小时,任务就会按照每天的0点开始算的每5小时。下面是上网找到的文章:

 

 

Linux 中有两个命令用于安排计划任务,at 和 crontab 。它们大大的简化了我们的维护工作量,比如定期以及指定时间运行脚本等。本文主要就crontab使用过程中的一些值得注意的事项进行说明。
       crontab只能用于安排周期计划任务,无论你怎么设置,总会存在将来的某个时刻会再次执行,所以对于只能进行一次的维护任务等,请选择at命令,主要是担心大家在crontab执行完后会忘记删除任务,导致将来出现一些意想不到的错误。
       crontab的最小时间精度是分,对于日常的维护已经足够了。如果需有精确到秒这样的需求,可以在运行command前先sleep一定秒数,比如,* * * * * sleep 10; command1,这样command1就会每分钟的第10秒执行。
       crontab周期执行任务的注意事项。我们经常会在日常运维中遇到每隔N分钟,每隔N小时、每隔N天执行一次维护任务。如果每隔三小时执行一次,则前面 的分钟数不能以星号(*)代替,比如,* */3 * * * scommand2,那么将会每隔3小时,执行60次,需采用下面的格式:0 */3 * * * scommand2,其他同理。
       关于crontab周期执行任务还有个注意事项,它安排任务开始于你间隔周期精度的第一个时间点,比如每隔7小时执行一次,则0点任务第一次执行,以后每 隔7小时执行一次,到第二天0点再次重复这个过程。同理,每隔N天执行一次则会在每个月的1号执行一次,然后每隔N天执行一次,所以就不要奇怪为什么每个 月的1号该任务都会执行,哪怕是上个月最后一天才执行了也不例外。因此我们就不能在逻辑上通过减去N,得到N天的任务结果。我们在工作中也遇到过这样的问 题,某个产品计划每三天对其数据库进行一次历史归档,为了判断服务器当前空间是否够备份,会判断上次历史备份的大小,当初的设计是我们给每个历史归档以时 间进行标识,如,2010-11-26,然后我们备份的时候就会去检查三天前的历史备份大小,比如2010-11-23的备份。但是由于前面讲到的原因, 每个月的1号回出现总是找不到上次的历史备份。
       目前我就总结了以上4点稍微需要我们留意,如果大家觉得还有哪些地方值得注意或者文中有误的地方,欢迎提出指正。

分享到:
评论

相关推荐

    linuxcrontab定时触发命令.pdf

    本文将详细介绍如何使用crontab来定时触发命令,以及相关的配置和注意事项。 首先,为了实现定时备份MySQL数据库,我们需要做以下几个步骤: 1. 创建一个保存备份文件的目录,例如`/mysqldata`,可以通过`mkdir`...

    linux 定时任务 crontab 详细解释

    #### 七、注意事项 - 在编写Cron表达式时,确保格式正确无误,以免作业无法按预期执行。 - 对于复杂的作业需求,可以通过编写Shell脚本来实现,并将脚本路径作为Cron作业的一部分。 - 如果需要将作业的输出发送到...

    Linux Crontab 启动 、运行 和编辑 查看的命令

    Linux中的Cron服务是系统定时任务管理的重要...在实际使用过程中,还需要了解Crontab的详细语法和注意事项,以确保定时任务能够按预期执行。同时,保持对Cron服务状态的关注和适时调整,对于系统的稳定运行至关重要。

    crontab-46.1.tar.gz

    7. **安全与注意事项**:`crontab`的任务执行环境相对纯净,不包含用户的环境变量。因此,在编写定时任务时,应确保所有需要的环境变量、路径和依赖项都在脚本中明确指定。另外,为了安全起见,定期检查`crontab`...

    在windows下配置crontab

    **注意事项** 1. 确保`cygserver`服务也已经启动,因为某些Cygwin的程序需要它来运行。 2. 使用Cygwin的crontab时,注意文件路径应使用Cygwin的POSIX风格,而不是Windows的DOS风格。 3. 在配置crontab时,需考虑到...

    Linux定时执行程序Crontab.pdf

    7. **注意事项** - 定时任务中的环境变量可能与交互式会话中的不同,因此在脚本中设置必要的环境变量(如`export`)。 - 脚本路径应绝对化,避免相对路径导致的问题。 - 定义完任务后,记得使更改生效,可能需要...

    Linux用crontab例行工作安排.docx

    5. **注意事项** - `crontab`任务的执行环境不同于交互式登录环境,因此,一些依赖环境变量或个人主目录的脚本可能需要额外的配置才能正常运行。 - 脚本路径应使用绝对路径,避免相对路径导致的问题。 - 为了保证...

    详解Linux下crontab的使用与注意事项

    crontab是一个用于设置周期性被执行的指令。其守护进程为crond. crontab分为两种配置模式,一种为用户级的crontab,一种为系统级的crontab,这里我们分开来谈。 用户级crontab 用户使用新建循环型工作调度时,使用...

    如何在 Linux 中从备份恢复 Crontab?.docx

    恢复 Crontab 配置时需注意以下事项: - **备份文件格式**:确保备份文件是由 `crontab -l` 生成的,并且没有手动修改过,以保证格式的正确性。 - **备份文件完整性**:在恢复前检查备份文件是否完整无损,可以比较...

    crontab命令格式与例子

    #### 七、注意事项 - 执行 cron job 的时候,如果命令中有空格或特殊字符,请确保它们被适当引用或转义。 - 如果 cron job 的输出不希望显示在屏幕上,可以在命令后面加上 `> /dev/null 2>&1`,例如: ```bash * *...

    使用linux命令crontab间隔时间执行其它命令

    ### 四、其他注意事项 - 为了避免权限问题,确保命令路径正确无误,并且用户具有执行该命令的权限。 - 如果需要在非交互模式下执行命令,确保所有依赖都已解决,比如环境变量、路径等。 - 使用绝对路径,而不是相对...

    corntabs离线安装rpm资源文件

    5. **注意事项**: - 在离线环境中安装RPM包,必须确保所有的依赖项都已经解决。如果RPM包有依赖其他未安装的库,需要提前下载这些依赖并一同安装。 - `crontab`的任务不会有任何交互界面,因此所有需要用户确认的...

    Solaris:crontab的用法(定时任务).docx

    8. **注意事项** - 使用`crontab -e`编辑时,`Ctrl+D`会保存并退出,而`Ctrl+Z`会不保存退出,因此操作时需谨慎。 - 如果想创建新任务,可以在`/var/spool/cron/crontabs/`目录下创建对应用户的文件,但请使用root...

    Solaris:crontab的用法(定时任务)教学文稿.docx

    2. **编辑crontab的注意事项** 使用`crontab -e`编辑时,`Ctrl+D`会保存并退出编辑模式,而且会替换原有的crontab内容,这是一个需要注意的操作,因为一旦按下`Ctrl+D`,所有旧的crontab任务都将被新内容覆盖。相反...

    linux定时器任务详解

    7. crontab的注意事项 - 在设置定时任务时需要注意时间字段的正确性,错误的时间设置可能导致任务不按预期执行。 - 如果系统中未运行crond服务,则定时任务不会被执行。 - 对于需要更精确时间控制的任务,可考虑使用...

    crontab-master

    ### 七、注意事项 1. **错误处理**:`crontab` 执行的命令标准输出和错误会被发送到用户的邮箱,因此需要确保命令的正确性和错误处理。 2. **权限**:普通用户只能编辑和执行自己的 `crontab` 文件,root 用户可以...

    crontab使用方法crontab使用方法

    #### 五、注意事项 - 在编辑个人的cron配置文件时,需要确保格式正确无误,否则可能导致任务无法正常运行。 - 如果需要在cron配置文件中使用变量,需要注意变量的引用方式。 - 对于复杂的任务调度需求,可以考虑...

    如何使用Linux的Crontab定时执行PHP脚本的方法

    ### 注意事项 1. 在使用URL执行脚本时,确保你的脚本有正确的权限,可以被Web服务器执行。 2. 定时任务的时间表达式要精确无误,否则可能会导致任务无法正确执行。 3. 如果脚本需要依赖环境变量或外部资源,请在...

    linux centos环境kettle部署与定时作业执行

    Linux Centos 环境 Kettle 部署与定时作业执行 Linux Centos 环境 Kettle 部署与定时作业执行是指在 Linux Centos 环境中部署 Kettle 工具,并配置定时...同时,需要注意一些注意事项,以确保 Kettle 的正常运行。

Global site tag (gtag.js) - Google Analytics