最近碰到定时执行时,php程序里的创建目录及文件都是变成的root权限,以至于WEB操作时出错,所以需要以WEB的统一用户权限进行定时执行。
方法1、使用crontab命令,例如添加一个新的或编辑已有的,使用:
crontab -e
就可以进入配置文件。此时配置crontab的执行者是当前登入用户,如果当前用户是root,需要为其他用户配置,可以使用
crontab -e -u 用户名
或
su 用户名 crontab -e
这种方法有一个缺点,就是当前系统中配置的crontab不在一个配置文件中,让管理员不方便查询系统到底有多少个crontab。
方法2、直接在“/etc/crontab”文件中添加,不过需要是root身份。打开文件,应该会看到类似下面的信息
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
要添加新的crontab,只需要在文件最后增加即可。注意这里面需要指定用户名;而方法1中则不需要,如果指定了,它会认为是命令的一部分,从而可能导致crontab执行失败。
如果服务器都是有root来管理,建议添加crontab使用方法2,这样系统中的所有计划任务都在一起,一目了然。
另外:当需要手动执行php时,可以使用以下命令方式指定用户执行:
~# su www -s /usr/local/php/bin/php -f mkdir.php
文章内容部分转发于:https://www.cnblogs.com/kenshinobiy/p/4545676.html
评论列表:
zys
评论于2020-02-22 14:58:13
刷单快递单号网站www.chaojidanhao.cn - 回复该评论
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
相关文章
树莓派系列(十三):根据 CPU 温度之控制散热风扇2017-04-28
centos中crontab(计时器)用法详解2014-03-01