Linux计划任务Crontab学习笔记(3):配置文件

时间:2021-05-24

【全局(系统)配置文件】

复制代码代码如下:
/etc/crontab
Linux 主要的配置文件都在 etc 目录下。

复制代码代码如下:
cd /etc
ls cron*


复制代码代码如下:
vim crontab

进入 cron.d(服务)

复制代码代码如下:
cd cron.d
使用 cat 命令查看 sysstat 文件(cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的 )

复制代码代码如下:
cat sysstat

会发现,查看的内容和 crontab -l 时的内容很相似

在 crontab 载入配置文件的时候,会把 cron.d 下面的文件里面的配置信息载入成为 root 用户的计划任务,如果用 crontab -e 命令去编辑它的时候,实际上会破坏它原始文件配置的内容,,所以一般情况下是不愿意使用 crontab -e 的。如果直接编辑文件:vim sysstat,此时再使用 crontab -l,会发现编辑文件不会被直接载入(crontab -l 查看的内容不会改变),可以通过 crontab sysstat 的方式(crontab 后面跟一个文件的方式)把文件载入,然后再使用 crontab -l 查看,此时文件里面的内容覆盖了原来 crontab -l 里面所有的东西,所以在用 crontab 后面跟一个文件这种形式导入的时候要非常小心,因为 crontab -e 里面的内容都会被文件复写。要使一个计划任务不会被丢失,通常情况下不是使用 crontab -e,而是在一个文件中去添加,然后再载入,这样系统重启的时候,这些文件也会被自动载入到计划任务列表中,注意这种方式是以 root 用户的方式载入的。

在使用 ls cron* 的命令时,会有个一 cron.d 的目录,这是配置文件的目录。它下面的 sysstat 和 etc 目录下的 crontab 文件是很类似的,

contab 不能编辑系统级的配置文件里面的计划任务(例如在 cron.d 下新建计划任务文件 crontst,里面写入 */1 * * * * dee echo "File in /ect/cron.d/crontst****",然后:wq!保存退出,这时可以使用 tail -f /var/log/cron 进行监视,可以发现这条计划任务的执行情况,但是使用 crontab -l 或者 crontab -e 就不能列出这条计划任务了)。

【补充】

先使用

复制代码代码如下:
crontab -l
再使用

复制代码代码如下:
cat /var/spool/cron/root
会发现两个命令的输出结果一样:

实际上 crontab 操作的时候,操作的是 /var/spool/cron/root 这个文件。

可以使用

复制代码代码如下:
ls /var/spool/cron/root
查看所有用户的计划任务。

【Root 配置文件】

只有 Root 用户才会把这些内容载入到计划任务表中

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章