您的位置:首页 > 运维架构 > Linux

Linux 下Crontab 里的命令无法执行的问题

2017-04-27 11:28 471 查看
自己对linux的熟悉程度也只是属于入门级的小白,但今天居然也能帮师兄解决了一下这个小问题还是觉得很开心。我也知道入门不容易,所以一点点的经验希望够帮到需要的同学。

crontab 命令使用方式和linux的sh脚本编写代码,普通的任务百度一下很快就能够将程序写出来了,基本上这些程序都不会有问题的。

下面是几个需要注意的地方

1、linux文件的权限问题,这是比较复杂的问题,包括你调用的sh文件的权限和输出的log文件的权限等,这是保证文件能够被访问的第一步,一般比较安全的文件我都是设置777

(也是觉得麻烦,但是这个权限真的很重要,重要,重要的,重要的事情强调三遍)。

 2、是dos下编写的sh在linux可能因为格式的问题无法使用,比如我就比较喜欢用notepad++ 编写好脚本再上传到服务器上。用vim 打开这个文件执行:set ff? 就可以看到文件的格式,如果是dos的字样,那么使用set ff=unix 就可以把它强制转换为unix格式。(一开始使用vim编写可以很好的避免这个问题)。      

3、linux因为很多东西都不是可视化的,所以遇到问题的时候可以尽量将每个步骤的结果输出来看看。 具体为 command >>/data/log.out/ 2>&1 &

4、一般都是希望定时或者重复的调用某些程序,这里可能还会涉及到调用程序的时候运行程序的环境问题。比如我之前写的简单的python 程序,还有php程序,使用sh去调用这些程序的时候会因为执行时候的环境变量不同导致程序运行失败(之前的一篇文章里面有提到php调用后台python程序的问题)

以上是我自己在使用crontab 时候的一点经验,自觉没有精妙的内容,但是还是希望能节省大家的时间,对大家有所帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息