如何在 Linux 下以 www-data 用户运行 Crontab ?

在 Linux 系统中,cron 守护进程用于定时执行命令或脚本。默认情况下,cron 作业以 root 用户运行。 但是,有时需要以非 root 用户的身份运行 cron 作业,例如 www-data 用户。www-data 用户经常被用于运行 web 应用程序,以限制恶意 cron 作业可能造成的损害。
在本文中,我们将讨论在 Linux 系统中以 www-data 用户的身份运行 crontab 的正确方法。
Step 1: Determine the User
在开始之前,我们需要确定哪个用户运行 cron 作业。在本例中,我们希望以 www-data 用户的身份运行 cron 作业。要检查 web 服务器以哪个用户身份运行,使用如下命令:
ps aux | grep apache2

第一行显示了 apache2 的“root”用户,那是由系统守护进程服务启动的 Apache 主进程,其它的进程以“www-data”用户运行。
Step 2: Schedule Cron Job
下一步是为 www-data 用户创建一个 crontab 文件,使用如下命令:
sudo crontab -u www-data -e
现在我们已经打开了 crontab 文件,可以添加我们想要运行 cron 作业了。例如,您有一个 Laravel 应用程序 在系统上进行配置,并希望将 cron 作业每分钟运行一次。
## Laravel application cron to run every minute
* * * * * cd /var/www/laravel-app && php artisan schedule:run >> /dev/null 2>&1
Step 3: Verify the Cron Job
最后一步,验证是否正确添加了 cron 作业,使用以下命令:
sudo crontab -u www-data -l

您可以看到,Laravel 应用程序的 cron 作业已正确配置为 www-data 用户。
我的开源项目
评论已关闭
