`

crontab执行脚本出错

 
阅读更多
最近经常碰到关于crontab不能执行的,初步总结了有以下几个原因:
第一,脚本的原因:大多数情况下,是我们的脚本的问题,这种问题导致crontab不能执行的概率占到70%以上。因为程序执行到某一步导致crontab终止执行,如,数据库访问出错等。
第二,执行环境问题,当我们碰到第一情况下,一般都可以通过手动执行程序将问题扼杀在摇篮里,一般情况下高手是不应该犯第一种错误的。问题是当我们手动执行成功而crontab不能执行的时候,笔者碰到一次就是执行环境的问题,例如相关路径的设置问题。解决方案:在代码最前面执行 source /home/user/.bash_profile,或者source /etc/profile。还有一种情况就是日志未出现在相应的位置,这一般是使用了相对目录而没有使用绝对目录。
第三,系统时间不正确。这种问题最好理解,也是比较常见和隐蔽的问题,解决方案:date -s ********
第四,就是我们的脚本是否有可执行权限。必须保证执行脚本的用户有执行改文件的权限。
第五,crontab 守护进程死掉了。这种情况是极少发生的,但也不排除,当我们实在是找不到其他原因的时候可以用。解决方案:重启该进程。
另外,介绍大家一个关于如何查看crontab最修修改时间的方法:
进入目录/var/spool/cron/里面会有N个用户名为文件名的文件,只要建立过crontab的用户在这里都会有以该用户名为文件名的文件,该文件的最后修改时间就是该用户的的crontab的最后修改时间。

注:crontab -e 编辑后,任务会立即生效
分享到:
评论

相关推荐

    crontab详解

    此外,crontab中运行的程序会被送到shell执行,该shell仅具有三个环境变量:USER, HOME, SHELL。因此,如果脚本中需要其他环境变量,需要在脚本中显式地设置。 需要注意的是,在生产环境中,一些任务的调度需要谨慎...

    tp5执行shell命令定时执行命令行运行php脚本

    6. **错误处理与日志记录**: 在命令行模式下运行脚本时,错误通常不会自动显示,因此需要在代码中添加日志记录,以便在出错时能够追踪问题。TP5框架提供了内置的日志组件,可以方便地记录和查看错误信息。 7. **...

    crontab.rar

    由于`crontab`任务是在后台运行,它们不会继承用户的环境变量。因此,如果命令依赖于某些环境变量,如`PATH`,需要在crontab文件中显式设置。例如: ```bash SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:...

    cron和crontab概念详解

    这条命令的意思是在每天凌晨1点执行`/usr/local/bin/myscript.sh`这个脚本。 再如: ``` 00 10,14 * * 1 /usr/local/bin/myscript.sh ``` 这条命令表示在每周一的10点和14点执行`/usr/local/bin/myscript.sh`。 ...

    专题资料(2021-2022年)Linux定时执行程序Crontab.docx

    需要注意的是,在使用 Crontab 的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)。 在使用 Crontab ...

    shell脚本实现本地文件与服务器文件同步

    - 使用crontab配置定时任务,让脚本每天晚上00:00:00自动执行一次:`0 0 * * * /var/backup.sh > /dev/null 2>&1`。 #### 总结 本文通过两个具体示例详细介绍了如何使用Shell脚本实现本地文件与服务器文件的同步...

    Linux的定时任务crontab命令怎么用.docx

    Linux 的定时任务 crontab 命令怎么用 Linux 的定时任务 crontab 命令是 Linux 系统中的一种非常重要的功能,它允许用户设置定时任务...但是,需要注意的是,crontab 命令的使用需要遵守一定的规则和格式,以免出错。

    oracle定时备份脚本(实例)

    通过编写定时备份脚本,可以自动执行备份任务,减少人为操作的失误,并提高效率。 ##### 1. 脚本环境配置 脚本运行前需设置环境变量,确保能够正确调用Oracle客户端工具。以下是关键环境变量的设置: - **ORACLE_...

    自动运行任务计划

    然而,为了保证系统的稳定性和安全性,需要合理规划任务的执行时间,避免资源冲突,并确保运行的程序或脚本是可靠的,以免引发不必要的问题。 总之,自动运行任务计划是提高效率、自动化日常工作的关键工具。了解并...

    dotbot-crontab:Dotbot的Crontab插件

    而 `dotbot-crontab` 是 Dotbot 的一个插件,它允许用户通过 Crontab(Linux/Unix 系统的定时任务调度器)来控制 Dotbot 的运行,从而实现定期自动执行配置更新或其他自定义任务。 Crontab 是 Unix 和 Linux 系统中...

    shell脚本实现mysql定时备份、删除、恢复功能

    2. 错误处理:`set -o nounset`与`set -o errexit`确保脚本在遇到未定义变量或执行出错时立即退出。 3. 准备备份用户信息和连接参数:包括用户名、密码、连接端口和MySQL的安装路径。 4. 生成备份日期和删除旧备份的...

    linux 计划任务cron--怎么定时执行的指令

    2. **执行脚本**:若需定期执行一个脚本来清理日志文件,可以创建一个脚本,并将其添加到Cron表中,例如:`0 1 * * * /path/to/cleanup_logs.sh`。 #### 六、Cron的管理和维护 1. **查看当前Cron任务**:使用`...

    浅析Linux中crontab任务调度

    在Linux系统中,`crontab` 是一个强大的任务调度工具,它允许用户按照预定义的时间间隔执行命令或脚本。这个工具对于自动化日常维护任务、定期备份、系统监控等场景非常有用。以下是对 `crontab` 任务调度的详细解析...

    Linux Shell定期重启Cisco

    - **错误处理**:增强脚本的健壮性,例如在连接失败或命令执行出错时能够捕获异常并采取适当的行动。 - **测试与验证**:在实际部署前,在非生产环境中充分测试脚本,确保其稳定性和预期行为。 总之,通过Linux ...

    linux自动备份mysql

    手动备份虽然可行,但易出错且耗时,因此通常采用自动化脚本来实现。本文将详细介绍如何配置Linux下的MySQL自动备份。 首先,我们需要创建一个用于存放备份文件的目录。例如,在 `/www` 目录下创建一个名为 `backup...

    脚本:我在GNULinux发行版跳变时就编写的一些shell脚本快速技巧

    例如,每天凌晨1点运行脚本:`0 0 * * * /path/to/my_script.sh`。 10. **Perl 脚本与系统管理**:虽然本文主要讨论Bash,但Perl也是一种强大的脚本语言,常用于更复杂的系统管理任务。Perl的语法更加灵活,且拥有...

    Python脚本修改阿里云的访问控制列表的方法

    - 创建一个文本文件存储当前的公网IP,每次运行脚本时检查新旧IP是否相同,若不同,则更新文件中的IP地址。 ```python file_save_ipaddr = 'ipaddr.txt' ``` 3. **更新访问控制列表**: - 使用阿里云提供的SDK...

    通过批处理和DTS自动将数据导入SQL SERVER数据库

    `crontab.sh`脚本则负责在特定时间执行任务,这里是每天上午9点10分,将当天日期文件夹的数据复制到`last`目录下,以便后续处理。`cron`是Linux的定时任务服务,`crontab`命令用于设置定时任务,`-e`选项表示编辑...

    linux-用shell编程调度的实验报告.pdf

    通过`crontab -e`命令编辑crontab文件,添加两条定时任务,分别为上午12:00运行`autobackupdata1.shell`,下午17:30运行`autobackupdata2.shell`。确保任务设置正确,可以使用`crontab -l`命令查看当前的定时任务...

    Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤

    编辑`/etc/crontab`文件,添加一行定时任务,例如:`* * * * * /path/to/monitor.sh`表示每分钟执行一次`monitor.sh`脚本。 #### 四、总结 通过上述步骤,我们可以实现一个简单的Tomcat服务监控及自动重启功能。...

Global site tag (gtag.js) - Google Analytics