为archlinux配置cron
cron的作用:cron可以用来周期性地自动执行一些命令。
cron的实现:cron有很多实现版本,例如:cronie, dcron, fcron, bcron, vixie-cron,我安装的是 cronie
安装的方法:
pacman -S cronie
安装完成后,cronie 在系统中增加的文件:
cronie /etc/
cronie /etc/anacrontab
cronie /etc/cron.d/
cronie /etc/cron.d/0hourly
cronie /etc/cron.daily/
cronie /etc/cron.deny
cronie /etc/cron.hourly/
cronie /etc/cron.hourly/0anacron
cronie /etc/cron.monthly/
cronie /etc/cron.weekly/
cronie /etc/pam.d/
cronie /etc/pam.d/crond
cronie /usr/
cronie /usr/bin/
cronie /usr/bin/anacron
cronie /usr/bin/crond
cronie /usr/bin/crontab
cronie /usr/lib/
cronie /usr/lib/systemd/
cronie /usr/lib/systemd/system/
cronie /usr/lib/systemd/system/cronie.service
cronie /usr/share/
cronie /usr/share/licenses/
cronie /usr/share/licenses/cronie/
cronie /usr/share/licenses/cronie/COPYING
cronie /usr/share/man/
cronie /usr/share/man/man1/
cronie /usr/share/man/man1/crontab..gz
cronie /usr/share/man/man5/
cronie /usr/share/man/man5/anacrontab..gz
cronie /usr/share/man/man5/crontab..gz
cronie /usr/share/man/man8/
cronie /usr/share/man/man8/anacron..gz
cronie /usr/share/man/man8/cron..gz
cronie /usr/share/man/man8/crond..gz
cronie /var/
cronie /var/spool/
cronie /var/spool/anacron/
cronie /var/spool/cron/
从这个文件列表中,可以看到有三个可执行文件 /bin/anacron,/bin/crond,/bin/crontab
其中anacron和crond都能够做到以daemon的方式运行在后台,并且周期性地执行配置文件中指定的命令。至于二者的区别,请自行阅读各自的manual。
通过查看 /usr/lib/systemd/system/cronie.service ,发现里面用到的是 crond。至于crond会读取哪些配置文件,请自行阅读crond的manual。
第三个可执行文件 crontab 是用于维护配置文件的。
crond通过两种方式监测配置文件的改动,一种是使用inotify的方式,另一种是每分钟检查配置文件的modtime,这两种方式都不需要你在修改了配置文件之后手动重启 crond。
archlinux的wiki上说不应该直接编辑配置文件,应该使用crontab这个命令进行操作。
基本的crontab命令:
#列出当前用户的配置文件
crontab -l #编辑当前用户的配置文件
crontab -e #删除当前用户的配置文件
crontab -r
crontab 的详细用法可以参考 man crontab
经过测试发现,当编辑完当前用户的配置文件然后保存之后,实际上是在 /var/spool/cron/ 这个目录下多了一个以用户名作为文件名的文件。
有一个地方挺奇怪的,/var/spool/cron/ 这个目录的权限是 755,属于root用户和root组,我用非root的用户执行 crontab 命令竟然能在改目录下增删文件。
20160412 加:不奇怪了,原因找到了,是因为 /bin/crontab 拥有 setuid 的权限,而/bin/crontab 的所有者是 root,所以当我以非root用户执行 crontab 命令的时候,我就临时成为了root。
我们在这里不使用 crontab 来修改 /var/spool/cron/ 中的文件,我们直接将配置文件放到 /etc/cron.d/ 这个目录中。
来一个小示例:
sudo vim /etc/cron.d/mycrontab
文件的内容填入(该配置的意思是 每分钟以 root 用户的身份执行一次 touch /tmp/testfile 这条命令):
* * * * * root touch /tmp/testfile
然后保存。
启动 crond 的 daemon:
sudo systemctl start conie.service
看看是不是 /tmp/testfile 这个文件被建立了,然后访问时间每分钟都改变。
对于配置文件的具体应该如何编写,可以查看 man 5 crontab。
为archlinux配置cron的更多相关文章
- CentOS6.5配置 cron
CentOS6.5配置 cron 任务 - mengjiaoduan的博客 - CSDN博客https://blog.csdn.net/mengjiaoduan/article/details/649 ...
- Springboot自带定时任务实现动态配置Cron参数
同学们,我今天分享一下SpringBoot动态配置Cron参数.场景是这样子的:后台管理界面对定时任务进行管理,可动态修改执行时间,然后保存入库,每次任务执行前从库里查询时间,以达到动态修改Cron参 ...
- Archlinux配置fcitx5
fcitx5--Linux中最好用的中文输入法 ArchLinux配置fcitx5 输入法 本文基于archlinux + dwm.其他的桌面环境以及窗口管理器,配置选项差不多. 安装基础包 fcit ...
- archlinux配置答疑
Q: chinese can not appear in my firefox and terminal rightly A: pacman -S wqy-microhei Q: install pi ...
- Archlinux配置~小米笔记本Air 13.3英寸版本
1 .zsh echo $ SHELL \\查看当前正在使用shell: pacman -S zsh zsh-syntax-highlighting git wget wget https://raw ...
- 配置cron定时任务
题:配置一个 cron 任务用户 natasha 必须配置一个定时执行任务,每天在本地时间 14:23 时执行命令* /bin/echo hiya 答: # 方法1 # su - natasha # ...
- Springboot定时任务实现动态配置Cron参数(从外部数据库获取)
https://blog.csdn.net/qq_35992900/article/details/80429245 我们主要讲解它的动态配置使用方法. 在刚开始使用的时候,我们更改一个任务的执行时间 ...
- Mac 配置cron
请参考:https://www.cnblogs.com/EasonJim/p/7819635.html 查看 crontab 是否启动 sudo launchctl list | grep cron ...
- (转载)Linux定时任务cron配置
(转载)http://blog.csdn.net/jbgtwang/article/details/7995801 实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务 ...
随机推荐
- IOS事件处理机制(关于触发者和响应者的确认)
事件处理机制 在iOS中发生触摸后,事件会加入到UIApplication事件队列(在这个系列关于iOS开发的第一篇文章中我们分析iOS程序原理的时候就说过程序运行后UIApplication会循环监 ...
- django 部署到 apache
安装完django之后,每次都需要通过命令来启动启动开发服务器.虽然调试和测试方便,但只能在本地运行,并且不能承受许多用户同时使用的负载.所以需要将Django部署到生产级的服务器,这里选择apach ...
- php 配置本地自定义域名
一.设置host文件 二.设置httpd.conf # Virtual hosts Include conf/extra/httpd-vhosts.conf 三.设置httpd-vhosts.conf ...
- sqlserver 2000事务复制问题
2000现在用的估计不多了,把之前收集的一些复制问题整理发布出来.可能都是些很白很二的问题,但人总是由最初的无知不断成长,不对之处欢迎指正. sqlserver 2000事务复制问题服务器A(发布) ...
- ArcBruTile 0.2.2
在ArcGIS中加载OpenStreetMap和Google.Bing的影像是不是很酷?用ArcBruTile 0.2.2可以实现.安装注册步骤如下.
- 01.Box2dWeb入门教程
1.下载box2dweb.直接在页面中引用即可. -Box2D.js是未压缩版 -Box2d.min.js是压缩版 2.编写HelloWorld代码. <!DOCTYPE HTML> &l ...
- 手机大数据_SQL映射对象_动软_代码模板_Models
<#@ template language="c#" HostSpecific="True" #> <#@ output extension= ...
- SweetAlert2 使用教程
SweetAlert2是一款功能强大的纯Js模态消息对话框插件.SweetAlert2用于替代浏览器默认的弹出对话框,它提供各种参数和方法,支持嵌入图片,背景,HTML标签等,并提供5种内置的情景类, ...
- git客户端
https://git-for-windows.github.io/ http://blog.csdn.net/shulianghan/article/details/18812279 自己的gith ...
- JavaScript内的类型转换
JavaScript内的类型转换 1.分为自动转换和强制转换,我们一般用强制转换.其他类型转换为整数是parseInt();其他类型转化为小数parseFloat(); 2.判断是不是一个合法数字 ...