linux crontab 命令 定时处理脚本文件

问题:

由于脚本需要每天特定时间执行PHP文件。故开始使用crontab命令

解决方式:

新建shell脚本文件(execute_php.sh)。执行PHP文件并将输出结果到log文件中:(tip:我这边文件是绝对文件目录)

sudo -u www-data php php_filename >> logs/cron-`date +%Y-%m-%d`.txt


找到crontab的文件目录(我的文件目录是在 /var/spool/cron/crontabs,我这边该目录是需要root权限才能打开,所以sudo su下。但是添加不是root的用户文件下时注意退出临时root。因为crontab是没有指定用户时默认是在修改当前用户的文件)。也可以使用crontab -e直接打开

在该目录下找到以当前自己用户命令的文件。直接打开

在该文件添加:

*/10 * * * * /Code/execute_php.sh(每十分钟执行该脚本)

然后退出来。输入$ crontab userName     userName是指你将*/10 * * * * /Code/execute_php.sh放入那个文件的文件名称。 

简单说下crontab命令:

1.概念:

crontab 主要是周期性的执行命令

2.参数:

-u user:用来设定某个用户的crontab服务

-l  显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-e编辑某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

设定周期性:

* * * * *

minute hourday monthweek command

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

还可以包含特殊字符:

“*”:代表所有可能的值

“,”:可以用逗号隔开的值指定一个列表范围 就是枚举 如:"1,4,6,7"

“-”:可以用整数之间的中杠表示一个整数范围如:"2-4"

“/”:可以用正斜线指定时间的间隔频率,如:"0-23/3"表示每3小时执行一次。


你可能感兴趣的:(linux)