【问题标题】:Crontab editing not working in Php scriptcrontab 编辑在 PHP 脚本中不起作用
【发布时间】:2013-07-17 10:22:49
【问题描述】:

我正在使用 php 脚本创建动态 cronjob。 cron 作业添加功能对我来说工作正常。我的脚本如下。

<?
$output = shell_exec('crontab -l');
file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL);
echo exec('crontab /tmp/crontab.txt');
?>

我需要使用 php 编辑单独的 cronjob。我正在尝试很多方法,但它不起作用。下面给出了我的编辑 cron 脚本

-e (编辑用户的 crontab)

<?
    $output = shell_exec('crontab -l');
    file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL);
    echo exec('-e crontab /tmp/crontab.txt'); 
   ?>

我的参考链接LINK

如何使用 php 编辑 cron 作业。请指教

【问题讨论】:

  • php 是否具有写入 crontab 文件的正确权限?
  • @jam6549 如何设置此权限以及如何访问。请指导我
  • 如果您使用的是linux,请将文件的所有者更改为www-datasudo chown www-data /tmp/crontab.txt
  • 你为什么要做echo exec('-e crontab /tmp/crontab.txt');
  • 查看我的参考链接@ansh0l

标签: php cron crontab cron-task


【解决方案1】:

首先是语法:它是 crontab -e 使用此命令可以打开当前用户的 crontab,如果要更改其他用户的某些 cron 信息,则必须使用以下语法:

crontab -u your-user-here -e

但这会打开一个默认的文本编辑器。

如果你真的想用php编辑另一个用户的crontab,你必须读取文件的内容,编辑它然后再写回来。

您必须记住,您不能编辑所有 cron 文件,原因是用户权限。

【讨论】:

  • 如何编辑我单独的 cron 作业,请解释一下。我不明白。
  • 好的,你把你的文件写到:“/tmp/crontab.txt”/ 如果你想真正编辑它,然后读回它:file-get-contents。之后,您可以编辑文件的内容并将其写回并再次执行
  • 我正在尝试这种方式,但我怎样才能找到准确的编辑行。如果您有任何脚本,请给我。我有一些困惑。所以只有我在问
  • 我怎样才能使用这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
  • 2013-01-12
  • 2019-09-30
相关资源
最近更新 更多