菜鸟运维笔记:编写crontab计划任务

管理主机的时候,我们每天有些事情是经常要做的,为了避免每次都手工操作,我们可以编写计划任务,来让主机周期性地按照计划来自动执行。

安装启动

CentOS下:

yum install vixie-cron
yum install crontabs

安装前者一般会同样安装上后者。

启动服务。

service crond start

要启动该服务才行。

系统级crontab

用ls /etc/cron然后敲两下TAB,可以看到相关文件及目录。

cron.d/     cron.daily/   cron.hourly/  cron.monthly/ crontab   cron.weekly/

文件及目录解读

我们可以编辑crontab文件,来创建计划任务。

而以daily,hourly,weekly,monthly后缀的目录下分别存放每天,每月,每周,每月执行的任务。

其中存放的就是Shell脚本文件,权限755。我们把要执行的任务写成Shell脚本丢进行相应的目录就可以了。

而不规则周期的计划任务放在corn.d目录下面。可以看做是crontab文件的补充。

crontab文件格式

该文件开头包含必要的环境变量,不再介绍。

具体写法直接看源文件注释:

.---------------- 分钟 (0 - 59)

| .------------- 小时 (0 - 23)

| | .---------- 几号 (1 - 31)

| | | .------- 月份 (1 - 12) 或者 jan,feb,mar,apr ...

| | | | .---- 星期 (0 - 6) (星期日=0 或 7) 或者 sun,mon,tue,wed,thu,fri,sat

| | | | |

* * * * * 用户名 要执行的命令

一共七个字段,其含义一目了然。需要注意的是每个字段的写法。

* *表示每一个。比如minute字段下的*表示每一分钟执行

* */n表示每隔n。比如hour字段下,*/2表示每隔两小时执行。0-10/2表示1,3,5,7,9

* 1-5这种格式表示一共连续的时间段

* 1,3,5这种格式是枚举几个不连续的时间段

注意:

1. 第三个字段‘天’和第五个字段‘星期几’是或的关系。所以不会冲突,符合两种情况都执行。

2. 该文件中如果出现%要进行转义,比如date +%w 在该文件内编写的时候要写成date +\%w

3. 把分钟设置成*要慎重!

crontab命令(用户级)

命令选项

crontab [-u user] file
crontab [-u user] [-e|-l|-r]
选项 描述
e 编辑计划任务
l 列出计划任务
r 删除计划任务
i 删除之前确认
u 指明所属用户
s selinux context

s选项不常用。

实际上该命令编辑的是/var/spool/cron/用户名 文件。

所以你也可以直接编辑该文件。

守护进程crond每分钟会读取该文件一次。

编写格式

格式与前文中crontab文件的编写格式相仿,但是没有用户user-name字段。

因为该命令只能编写当前用户的计划任务

日志

/var/log/cron下面可以看到全部日志。

/var/spool/cron/在下面也可以看到一定的日志。

时间: 2024-10-10 06:05:03

菜鸟运维笔记:编写crontab计划任务的相关文章

菜鸟运维笔记:安装MySQL及phpMyAdmin

阿里云提示我备案,挺烦人的.前天通过github的学生开发包.免费获得了DigitalOcean的100刀消费券(要花5美元来激活账户),购置了一个每月10刀的主机,实际是按小时收费的,日结,很划算的.机器配置如下: 1 GB/ 1 CPU 30 GB SSD 硬盘 2 TB流量 CentOS7.0 旧金山机房 旧金山机房是几个国外机房里面比较稳定的,虽然ping有170+,但也比其他的快,强烈不建议新加坡机房,卡飞,而且经常断线. 关于lamp,lnmp网上已经有了wdcp,lnmp一键安装包

菜鸟运维笔记:小记编译安装Nginx所遇到的坑

转载请注明出处:http://blog.csdn.net/guodongxiaren/article/details/40950249 谢谢合作 前言 无论是CentOS,或是Debian/Ubuntu.甚至是Windows.Nginx都有已编译好的安装包可用. 通常仅仅须要在终端上潇洒地输入apt-get install ...或是yum install ..就能够了.可是对于我这个源代码编译狂来说.那样一键安装,显然无法满足我心理需求. 获取Nginx源代码 下载 官网已经出现了1.7了.只

菜鸟运维笔记:安装与配置Apache服务器

前几天在在阿里花了49.5买了一个月的主机.试着好用再续费吧. 地域:青岛 可用区:青岛可用区A CPU:1核 内存:512MB 带宽:1Mbps 操作系统:CentOS 6.5 64位 云盾:是 安装apache服务器 2014/10/27 apache下载压缩包 http://mirrors.hust.edu.cn/apache/httpd/ 下载最新的版本吧,有*.gz和*.bz2的.bz2算法压缩的文件更小一点,不过这个文件也不大,差不多. 通过ftp上传两个下载好的文件到服务器 htt

菜鸟运维笔记:配置Apache二级域名及WWW訪问

事实上www訪问也能够理解为二级域名的一种. 域名 比方.com..org..edu..gov..info..net等等都是一级域名,或称顶级域名. 其详细格式是 *.顶级域名,比方csdn.net.而二级域名比方:bbs.csdn.net.blog.csdn.net.*.csdn.net的csdn.net就是二级域名. 实际上 http://csdn.net 都会重定向到 http://www.csdn.net 这个二级域 改动 http.conf文件 在该文件里配置"虚拟主机",即

菜鸟运维笔记:配置Apache二级域名及WWW访问

其实www访问也是二级域名的一种. 修改 http.conf文件 在该文件中添加 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /www/html/api/ ServerName java.unclewang.org </VirtualHost> 如果你想配置你的域名的www访问,只需要把上述步骤中的java改为www.其路径指向网站根目录(DocumentRoot指向的路径)就行了. 小心403 注意所

菜鸟运维笔记:安装与配置Apacheserver

前几天在在阿里花了49.5买了一个月的主机. 试着好用再续费吧. 地域:青岛 可用区:青岛可用区A CPU:1核 内存:512MB 带宽:1Mbps 操作系统:CentOS 6.5 64位 云盾:是 安装apacheserver 2014/10/27 apache下载压缩包 http://mirrors.hust.edu.cn/apache/httpd/ 下载最新的版本号吧.有*.gz和*.bz2的.bz2算法压缩的文件更小一点.只是这个文件也不大,差点儿相同. 通过ftp上传两个下载好的文件到

菜鸟运维笔记:Windows上用Xshell管理你的云主机

如果你的PC是linux系统,那么直接在终端用ssh命令就可以了.如果是Windows系统,那么就要用到ssh客户端. PS:笔者双系统.有时候还是要用到Windows的. Windows上ssh客户端 Windows上登陆远程主机有一下几种方式: putty SecureCRT Xshell putty小巧,无需安装,但是不够美观,做功粗糙.SecureCRT我没用,下了一个貌似是收费的,懒得找破解,而且SecureCRT不支持文件传输的协议.最后试试Xshell吧. Xshell基本配置 登

51CTO持续更新《通哥的运维笔记》

<通哥的运维笔记>将持续在51CTO网站更新,希望大家多多关注.互相学习,后期,我将会退出<通哥的运维笔记>系列视频教程,希望带给大家最大的收获,帮助大家更好的学习.进步.<通哥的运维笔记>主要从linux系统管理.虚拟化.cloudstack云平台以及网络管理之CCNA.CCNP.CCIE,等等方面深入讲解.

运维笔记{网络改造}来个照虎画猫!

运维笔记{网络改造}之疯言疯语 话说现有网络环境大概是这样的 ---.100MB联通光纤总带宽---. 连接Cisco 2960交换机--.. -.连接H3C5100路由器x4台----.1/2层各两台(ˇˇ) 想-{每台独立的公网IP做NAT转换} -连接Cisco3560三层交换机x4台-..对应每台路由器-..{交换机之间使用Trunk口连接} -.连接接入层杂牌交换机x8台-.每台3560接两台接入层交换机到桌面交换机-工位. 描述完毕!!! 改造完成环境是那样的呢?   Look看吧