I want to execute a command line command as root from a php file. In my case I want to view the crontab file in my php page.
Running the
"; echo (shell_exec("/var/www/html/cmd/crontab.sh")); ?> When I execute the crontab.sh in the command line. It seems to work. Because I see the crontab text. When I load the php page. I do not see the crontab text. I only see Get Current User: pi Who am I: www-data Start Crontab End Crontab What can I do? I had a cron that used
sudo
command in php is not recommended and on my raspberry pi with raspberry pi OS the php line
echo (shell_exec("sudo more /var/spool/cron/crontabs/pi"));
does not work. So I created a shell script:
**crontab.sh**
#!/bin/bash
echo "Start Crontab"
sudo more /var/spool/cron/crontabs/pi
echo "End Crontab"
and I created a php page:
**crontab.php**
Who am I: ".(exec("whoami"));
echo ""; echo (shell_exec("/var/www/html/cmd/crontab.sh")); ?> When I execute the crontab.sh in the command line. It seems to work. Because I see the crontab text. When I load the php page. I do not see the crontab text. I only see Get Current User: pi Who am I: www-data Start Crontab End Crontab What can I do? I had a cron that used
rsync
to copy the crontab -e
file to a cron.txt
file every hour. It worked but i do not want to view an (old) copy.
edit: My problem is that the task that starts with sudo gives zero output. In the comments I got the suggestion to use sudo crontab -l
. That's better than the line I used because it gives the root crontab and I just did not know of the -l
solution. But the problem is still there. There is zero output.
Asked by MacQwerty
(21 rep)
Apr 4, 2021, 01:43 PM
Last activity: May 8, 2025, 07:01 PM
Last activity: May 8, 2025, 07:01 PM