在linux中有时候想执行定时任务、进行服务器的维护或者清理日志,然后很多时候程序员并不懂得shell脚本,然而我们可以用自己用的语言进行代替,我是PHP程序员、所以就用php
像shell脚本   打开后语法是 #!/bin/bash 或者#!/bin/sh 这样子,这语法的大概意思就是引入bin目录下的命令来执行 ,同理我们用php来执行这个文件 ,创建个mkdirphp文件
#! /bin/php
<?php
mkdir(123);注意:要把这个mkdirphp文件修改具有执行权限chmod -x。然后我用在当前目录直接执行  ./execphp 直接新建个目录123。然而我们在实际运用中会存在一些误区。就是路径问题、假如我在计划任务上这么写
*/1 * * * * /root/bak_db/mkdirphp然后执行过后,在/root/bak_db/目录下并没有 123这个目录,其实是在上一层root目录下,有时候在我们粗心的时候,会认为失败。我们查看日志tail -f /var/log/cron 在第一分钟执行的日志、并没有什么问题,第二次执行 日志里会有 (root) MAIL (mailed 216 bytes of output but got status 0x004b#012) 这一条、执行失败了(原因是因为我已经在/root创建成功了123、再次创建失败)。
其实PHP脚本里的正确写法应该是在php脚本里面、引入路径文件或创建文件的时候要给绝对路径。
要不就是命令执行期、是在你要执行的文件内。那么crotab的命令引改这么写
*/1 * * * * cd /root/bak_db && /root/bak_db/mkdirphp下面是我的计划任务脚本的内容
30 1 * * * sh -x /opt/sh/bak_db.sh 
40 1 * * * cd /root/bak_db && /usr/local/php/bin/php /root/bak_db/bakphp
 
//上面的是每天1点40左右 进入目录、用bin/php命令 执行删除多余备份的sql文件的bakphp脚本 
                            