如何在 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 用户。

我的开源项目

相关推荐
handsomestWei17 分钟前
Docker引擎API接入配置
运维·http·docker·容器·api
si莉亚21 分钟前
ROS2安装EVO工具包
linux·开发语言·c++·开源
Tingjct22 分钟前
Linux常用指令
linux·运维·服务器
广州灵眸科技有限公司42 分钟前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
daad7771 小时前
wifi_note
运维·服务器·数据库
IT界的老黄牛1 小时前
Linux 压缩命令实战:tar、gzip、bzip2、xz、zstd 怎么选?一篇讲清楚
linux·运维·服务器
IT WorryFree1 小时前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
12345,catch a tiger1 小时前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
✎ ﹏梦醒͜ღ҉繁华落℘2 小时前
Makefile -GNU和MakeFile关系(二)
服务器·gnu
凉、介2 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie