最近遇到了一些sh不能在crontab定时任务中自动执行的问题
期间由于不太了解,故走了一点弯路,现在总结下来可能第一次
进行设置遇到的问题。以绝后患!我所用过的操作系统为HP-unix&linux&sco-unix,均测试通过
1,首先确保sh脚本具有可执行属性
即chmod +x***.sh
或chmod +777 ***.sh
2,确保sh脚本手工执行正常
即在当前系统内手工执行sh脚本以后能收到自己期望得到的结果
3,加载环境变量
这个问题是经常容易被忽略的问题,通常我们在第二步的时候手动执行脚本能得到自己想要的结果,可是设置好crontab之后,总不能得到自己想要的结果,总感觉脚本没有被执行。或者执行后没有得到正常的结果。很多均是由于没有加载所在用户的环境变量所引起的。因此最好在自己的脚本首两行添加环境变量的导入。如下:其中telstar是我在操作系统下所在的用户。在该目录下执行ls -a可以查看到.cshrc文件。我们在自己的sh脚本中增加source 该文件,将本用户的环境变量加载,那么以下的内容就能正常被执行了
#!/bin/csh#source /telstar/.cshrc
下面贴出我的定时重启tomcat的一个例子
#!/bin/csh#source /telstar/.cshrckill -9 `ps -ef | grep Djava.uti | grep -v tail | grep -v vi | grep -v grep | awk '{print $2}'`cd /telstar/tomcat/binsleep 15./startup.sh &
其实这里不加载环境变量的话,sh前加上绝对路径,应该也可以,这个没有测试,有兴趣的朋友可以尝试一下
#!/bin/csh
#source /telstar/.cshrc
kill -9 `ps -ef | grep Djava.uti | grep -v tail | grep -v vi | grep -v grep | awk '{print $2}'`
sleep 15
/telstar/tomcat/bin./startup.sh &
总之很多手动能正常执行的sh,crontab不能执行大多数情况是由于没有加载环境变量引起的,这里贴出来,以绝后患
#!/bin/csh
#source /telstar/.cshrc
kill -9 `ps -ef | grep Djava.uti | grep -v tail | grep -v vi | grep -v grep | awk '{print $2}'`
cd /telstar/tomcat/bin
sleep 15
./startup.sh &
一般情况下需要修改环境变量配置
改统一
vi ~/.bash_profile
分享到:
相关推荐
但一旦掌握,就能极大地扩展你的程序功能,使其能够自动执行各种定时操作。为了更深入地学习,你可以阅读模块提供的文档(如果有的话),或者参考易语言的官方教程,同时搜索相关案例进行实践。 总之,易语言 ...
总结,ThinkPHP 5.1的定时任务功能结合Crontab,让开发者能轻松实现后台任务自动化,极大地提升了工作效率。正确配置和使用Crontab,可以确保任务按预期执行,同时保持系统的稳定运行。通过理解和实践上述步骤,你将...
在Linux系统中,`crontab`是一个强大的定时任务调度工具,它允许用户安排命令或脚本在特定的时间点自动执行。在这个场景中,我们讨论的是如何利用`crontab`来定时执行Python爬虫程序。Python作为一种广泛用于数据...
1. **定时任务不执行** - 检查脚本路径是否正确。 - 检查脚本是否有执行权限。 - 确认 crond 服务是否正常运行。 ```bash ~# systemctl status cron ``` 2. **查看定时任务列表** - 查看当前用户的定时任务...
Linux Crontab 是一个强大的定时任务命令,用于在指定的时间间隔执行特定的命令或程序。Crontab 命令的功能是在一定的时间间隔调度一些命令的执行,通过编写 Crontab 文件来实现。 1. Crontab 介绍 Crontab 命令的...
本篇文章主要介绍了Linux中crontab定时任务不执行的原因,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在Linux系统中,`crontab` 是一个强大的任务调度工具,用于自动化周期性的系统或用户任务。然而,有时我们可能会遇到这样的问题:在终端中能够正常运行的shell脚本(`.sh` 文件),在通过`crontab` 安排时却无法执行...
保存并关闭编辑器后,`crontab`服务会自动读取这个文件并根据其中的设置执行任务。 为了确保`crond`服务正在运行,你可以使用`systemctl status crond`检查其状态。如果服务没有启动,用`systemctl start crond`来...
定时任务,也称为Cron Job,在服务器环境中常用于定期执行某些脚本或程序,以实现自动化工作流程。ThinkPHP中的定时任务功能,可以帮助开发者在设定的时间点自动触发某些业务逻辑,提高工作效率,减少手动干预。 二...
### Crontab定时任务服务详解 #### 一、Crontab简介 Crontab是Linux系统中的一个重要的工具,用于管理周期性执行的任务。通过Crontab,用户可以轻松地安排脚本或命令在特定时间自动执行,无需手动干预。 #### 二...
**Crontab定时任务不执行的原因及解决方案** 在Linux系统中,`crontab`是一个强大的定时任务管理工具,能够帮助我们自动化执行一系列任务。然而,有时我们会遇到`crontab`定时任务不执行的问题,这可能是由于多种...
### crontab自动备份知识点详解 #### 一、Crontab简介 在深入解析如何使用`crontab`实现自动备份之前,我们首先简要了解下`crontab`的基本概念及其工作原理。 `crontab`是Unix/Linux系统中的一个用于计划任务执行...
【Linux的Crontab定时任务】 Crontab是Linux系统中的一个强大工具,用于设置周期性的任务调度。它依赖于名为`crond`的守护进程,该进程在系统启动时自动启动,每分钟检查是否有待执行的任务。Crontab的任务调度分为...
本文全面讲解了 Linux 系统中 crontab 的使用方法,帮助用户快速掌握定时任务的配置和管理。首先,介绍了 crontab 的基本概念及其依赖的 cron 服务,并详细说明了时间调度字段的含义及其灵活用法,如星号、逗号、...
在Linux系统中,定时任务是运维工作中不可或缺的一部分,它能够帮助我们自动化执行一系列维护操作,例如定期删除旧日志、清理缓存等。本篇文章将深入讲解如何利用Linux的crontab工具设置定时删除任务,特别是针对...
系统任务调度集中在/etc/crontab文件中,这个文件包含了环境变量的配置以及定时任务的定义。例如,SHELL变量指定使用哪个shell(这里是bash),PATH变量指定了执行命令的搜索路径,MAILTO变量则指定了任务执行信息的...
3. **配置crontab定时任务** 接下来,我们可以通过`crontab`来配置定时任务。首先打开用户的`crontab`编辑器: ```bash crontab -e ``` 然后,在编辑器中添加以下行: ``` 0 2 * * * /path/to/mysql_...
本话题将深入探讨易语言中的Crontab定时任务执行模块v1.2,该模块特别之处在于支持秒级别的精度,同时还可以用作计时器。 Crontab是Unix/Linux系统中用于设置周期性被执行任务的工具,但在易语言中,这个模块实现了...
crontab 是一个 daemon 程序,它会在后台运行,并根据用户的设置来执行任务。 1. 任务概说 任务是指在约定的时间执行已经方案好的工作。任务可以是任何类型的工作,例如重启服务器、备份数据、发送邮件等。crontab...
- **编辑Crontab文件**:通过命令`crontab -e`编辑Crontab文件,并添加定时任务。例如: ``` * 19 * * * /usr/bin/php /path/to/crontab.php ``` - **设置文件执行权限**:确保`crontab.php`文件具有执行权限。...