linux 定时任务 cd,linux定时任务

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

34.1. Cron

Cron是一个守护进程,根据分时日月周的组合来执行任务。

Cron假设系统是可用的。如果系统不可用,那么定时任务不会执行。为了安排one-time tasks,可以参考 at and batch.

为了执行Cron服务,crond服务必须执行。

可以使用命令rpm -q vixie-cron命令查看是否安装。可以使用命令 service crond status查看状态

34.1.1 配置定时任务SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

前四行用于配置定时任务执行时的环境变量。SHELL变量告诉系统使用哪个shell,PATH变量定义了执行命令的路径。MAILTO定义了定时任务的输出结果被email给谁,如果MAILTO=””,则不发送邮件。HOME变量用于home目录。

在/etc/crontab/文件中任务的格式如下:

minute hour day month dayofweek commandminute – 从0到59的任何数字

hour – 从0到23的任何数字

day – 从0到31的任何一天

month – 从1到12的任何数字(或者月份的缩写,如jan或feb)

dayofweek – 从0到7的数字,其中0或7代表星期天(或者缩写,如mon或sun)

command – 要执行的命令

几种取值情况*:代表任何有效值

-:指定一个数字的范围,如1-3代表整数1,2,3。

,: 一个以逗号分隔的列表,如3,4,5,8代表四个特定的数字。

/: 用于指定步进的值(step value)。 The value of an integer can be skipped within a range by following the range with /. For example, 0-59/2 can be used to define every other minute in the minute field. Step values can also be used with an asterisk. For instance, the value */3 can be used in the month field to run the task every third month.

正如在/etc/crontab文件中,run-parts脚本执行/etc/cron.hourly/,/etc/cron.daily/, /etc/cron.weekly/, and /etc/cron.monthly/目录下的文件。在这些目录下面必须是shell脚本。

如果定时任务不是每小时,每天,每周,每月,那么定时任务可以加到/ect/cron.d/目录下,这个目录下文件的格式与/etc/crontab是一样的。

除了root以外的用户,可以使用crontab工具配置定时任务。所有用户定义的crontab都存在/var/spool/cron/目录下,并且使用创建他们的用户名来执行。使用crontab -e可以编辑。

cron守护进程每分钟会检查/etc/crontab文件,/ect/cron.d/目录的变化,如果有变化则加载到内存。因此如果crontab文件改变了不需要重启守护进程。

34.1.2 控制访问cron权限

/etc/cron.allow和/etc/cron.deny文件用于严格控制cron进程的访问。文件格式:一行一个用户名,不需要出现空格。如果访问控制文件修改了,crond不需要重启。

root用户什么时候都可以使用cron,而不用考虑访问控制文件中的用户名

如果cron.allow文件存在,只有users列表中的用户允许访问;忽略cron.deny文件

如果cron.allow文件不存在,只有cron.deny中用户不允许访问。

34.1.3 开始和停止服务

使用service crond start 开启。

使用service crond stop 关闭。

34.2 At和Batch

cron用于规划重复的任务,at命令用于规划一次性任务(one-time task),batch用于在系统负载小于0.8的时候执行一次性任务。

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值