再会,
我正在尝试创建一个脚本,使用 php 在服务器中添加、删除和列出 cronjobs。每当我运行这样的命令时,php cronjobs.php
输出都是正确的,但如果我从网站内部调用它,它会返回一个空结果!
这是我的 cronjobs.php 代码:
<?php
$output = shell_exec('~/cronjobs.sh');
echo "$output";
?>
这是我的 cronjob.sh 代码:
#!/bin/sh
crontab -l > cronjobs.log
有任何想法吗???
谢谢。
答案1
我正在尝试创建一个脚本来添加、删除和列出 cronjobs
存在安全隐患针对您所询问的问题。
您实际上是允许用户通过 php 从 Web 界面以任何人(甚至 root)的身份在您的服务器上运行程序。
你能行的
您可以研究使用sudo
(参见man sudo
和/etc/sudoers
)来启用 apache 以 root 身份执行crontab
。但一定要非常小心。