“瑶台月下”通过精心收集,向本站投稿了11篇linux中crontab 计划任务linux操作系统,以下是小编精心整理后的linux中crontab 计划任务linux操作系统,仅供参考,希望能够帮助到大家。
- 目录
- 第1篇:linux中crontab 计划任务linux操作系统第2篇:Linux计划任务crontab使用说明linux操作系统第3篇:Linux计划任务crontab配置方法linux操作系统第4篇:Linux中定时计划任务crontab使用实例linux操作系统第5篇:Linux系统计划任务crontab命令简单介绍linux操作系统第6篇:Linux中利用crontab创建计划任务第7篇:linux 中crontab格式详细说明linux操作系统第8篇:Windows中计划任务实现自动备份文件Windows服务器操作系统第9篇:Linux中crontab命令参数与使用说明linux操作系统第10篇:linux中crontab不能正常执行原因linux操作系统第11篇:linxu中vim作为crontab e的默认编辑器linux操作系统
篇1:linux中crontab 计划任务linux操作系统
本文章来给大家介绍linux中crontab的使用方法及简单的使用crontab实现计划任务方法,这个计划任务有点像windows的计划任务一样的哦,
1.作用
使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时
间执行,该命令使用权限是所有用户。
2.格式
代码如下复制代码crontab [ -u user ] 文件
crontab [ -u user ] { -l | -r | -e }
3.主要参数
-e:执行文字编辑器来设定时程表,内定的文字编辑器是vi。
-r:删除目前的时程表。
-l:列出目前的时程表。
crontab文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(
0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星
期天)。cmd表示要运行的程序,它被送入sh执行,这个Shell只有USER、HOME、SHELL
三个环境变量。
4.说明
和at命令相比,crontab命令适合完成固定周期的任务。
5.应用实例
设置一个定时、定期的系统提示:
[cao @www cao]#crontab -e
此时系统会打开一个vi编辑器。
如果输入以下内容:35 17 * * 5 wall “Tomorrow is Saturday I will go CS”,
这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打CS了!
用crontab命令实现每天定时的病毒扫描
前面已经介绍了一个简单的crontab命令操作,这里看一些更重要的操作。
代码如下复制代码30 21 * * * /opt/lampp/lampp restart
#上面的例子表示每晚的21:30重启lampp。
45 4 1,10,22 * * /opt/lampp/lampp restart
#上面的例子表示每月1、10、22日的4 : 45重启lampp。
10 1 * * 6,0 /opt/lampp/lampp restart
#上面的例子表示每周六、周日的1 : 10重启lampp。
0,30 18-23 * * * /opt/lampp/lampp restart
#上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lampp。
0 23 * * 6 /opt/lampp/lampp restart
#上面的例子表示每星期六的11 : 00 pm重启lampp。
* */1 * * * /opt/lampp/lampp restart
#每一小时重启lampp
* 23-7/1 * * * /opt/lampp/lampp restart
#晚上11点到早上7点之间,每隔一小时重启lampp
0 11 4 * mon-wed /opt/lampp/lampp restart
#每月的4号与每周一到周三的11点重启lampp
0 4 1 jan * /opt/lampp/lampp restart
#一月一号的4点重启lampp
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
查看、编辑和删除
cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在 /var/spool/cron/ 下)。要查看当前用户的crontab,输入 crontab -l;要编辑crontab,输入 crontab -e;要删除crontab,输入 crontab -r。如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME(如 crontab -e -u USERNAME)即可。crontab文件的默认编辑器是vi,可以输入 export VISUAL=’editor’ 更改默认编辑器。
cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。
语法说明
以下是两个cron语句的例子(在 /etc/crontab 文件里)。前者用来晚间备份 /etc 目录,后者运行Analog程序处理服务器的统计信息。
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&152 5 * * * root /usr/local/src/analog-5.32-lh/analog >>/dev/null 2>&1以下是cron语句中的字段与字段说明:
字段 说明
1 分钟(0-59)
2 小时(2-24)
3 日期(1-31)
4 月份(1-12;或英文缩写Jan、Feb等)
5 周几(0-6,0为周日;或单词缩写Sun、Mon等)
6 用户名(执行命令时以此用户的身份)
7 要执行的命令(路径)
现在来看第一行:
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1这条语句将在每天的凌晨3点12分(03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>>/dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。
这条语句可以变得稍微复杂一点:
30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1它将在6月13日周一的15:30运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令,
以下语句可以达到同样的效果:
30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1如果你想以用户joey的身份每小时的第15分钟运行某个程序,可以使用:
15 * * * * joey /usr/bin/somecommand >>/dev/null 2>&1其中的星号(*)是通配符,表示cron将忽略这个字段。
如果你想每两小时就运行某个程序,可以在小时字段里使用 */2。它将会在2点,4点,6点……22点,24点运行。具体语句如下:
0 */2 * * * joey /usr/bin/somecommand >>/dev/null 2>&1cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分运行某个程序,可以在分钟字段使用 15,30:
15,30 * * * * joey /usr/bin/somecommand >>/dev/null 2>&1如果你想在每月的第一周(即1号到7号)每天的指定时间运行某个程序,可以在日期字段使用 1-7:
15,30 */2 1-7 * * joey /usr/bin/somecommand >>/dev/null 2>&1这条语句将在每月的第1-7日每两小时的15分和30分(02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。
如果你想在每天的16:18执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:
18 16 * * * root run-parts /home/username/cron >>/dev/null 2>&1如果你想保存某个程序的输出结果, 可以把 >>/dev/null 2>&1 替换为 >>/home/user/somecommand.log 2>&1 。
crontab命令用于定时执行指定的命令,功能类似Windows下的“任务计划”,通常用来做一些重复性的工作。
Linux系统的用户只需将要执行的命令序列加到crontab文件中,操作系统即会按用户配置的时间执行这些命令序列。
向crontab文件里添加指令之前,需要检查下crontab服务是否已启动和是否开机自动启动:
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
查看crontab服务是否已设置为开机启动 ,执行命令:ntsysv
打开服务配置,查看crond服务前的[]是否已选中(打*号为选中),若未选中则选中该服务。
使用命令:crontab -l 查看当前用户已配置的任务计划
编辑crontab文件命令:crontab -e
也可以不使用“crontab -e”命令创建crontab配置文件,其他任何文本编辑器编写命令序列,比如文件名为“abc.cron”,然后使用命令:“crontab abc.cron”将命令序列添加到crontab中。
默认情况下,系统所有用户都可以使用crond服务。如需对crond服务的使用加限制,可以使用配置文件/etc/cron.allow和 /etc/cron.deny,望文生义,cron.allow是允许使用crond服务的用户清单,cron.deny里的用户则相反
crontab命令的语法格式如下:
格式一:crontab [-u user] file
此命令用于添加一个新的crontab 文件
-u 如果使用该选项,指定用户的 crontab 文件将被修改,反之则修改执行 crontab 命令用户的 crontab 文件。
格式二:crontab [-u user] [ -e | -l | -r ]
-l 在标准输出上显示当前的crontab。
-r 删除当前的crontab文件。
-e 使用系统编辑器编辑当前的crontab文件。当编辑完成后,文件将自动安装。这种方式很方便,修改后即时生效。
废话了半天,这里才是重点。crontab 文件中命令格式如下:
minute hour day-of-month month-of-year day-of-week commands
即:“分 时 日 月 周 命令 ”,共计6段,前5段都是时间,最后一段才是你要定期执行的指令。每段之间使用空格或者制表符分隔。
来看一下前5段即日期和时间的取值范围 :
1,分钟[00-59]
2,小时[00-23]
3,日[01-31]
4,月份[01-12]
5,周[0-6] ;注意,这里的0表示周日
OK,来个简单点的例子,每天早上6点半起床:
30 06 * * * echo “Get Up Now !” >>/tmp/test.txt
将上面这条指令另到crontab文件,系统每天上午6点半会向/tmp/test.txt文件里添加一行“Get Up Now !”。
上面这条指令里使用了特殊符号“*”,与SQL查询语句“SELECT * FROM TAB”里的“*”一样是“任何”的意思,即代表当前段取值范围内的所有数字,如第3段上的“*”代表[01-31]日,第4段上的“*”代表[01-12]月。
特殊符号除了“*”号还有“/”、“-”、“,”:
/ 代表“每”的意思,如“/5”表示每5个单位;
- 用于表示一个范围,如“[1-10]”表示从1到10;
, 用于表示若干离散的数字,如“5,15,25”
比如命令:[0-59]/5 23 * * * /sbin/shutdown -h now
表示每晚11点开始,每5分钟尝试一次关机,帮你养成早睡早起的好习惯,呵呵。机器关掉后,如果尝试开机,则到5的倍数时会再次关掉,酷似Windows 2000中了冲击波病毒。
00,10,20,30,40,50 * * * * echo “10 minutes has passed !” >>/tmp/test.txt
每小时的00分、10分、20分、30分、40分、50分向文件“/tmp/test.txt”写一行又十分钟过去喽
篇2:Linux计划任务crontab使用说明linux操作系统
在linux系统中我们要实现计划任务就必须得使用crontab命令来实现,下面我来给大家介绍两个利用crontab实现的计划任务的脚本,希望对大家帮助,
crontab简介
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos,原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
crontab用法
crontab的格式
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行程式的路径。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
管理员登录SSH, 输入命令crontab -e 编辑crontab文件,根据上面的格式输入并保存。
crontab例子
每月每天每小时的第 0 分钟执行一次 /bin/ls :
代码如下复制代码0 * * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
代码如下复制代码*/20 6-12 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 admin@3aj.cn :
代码如下复制代码0 17 * * 1-5 mail -s “hi” admin@3aj.cn < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo “hi 3a技术网”
代码如下复制代码20 0-23/2 * * * echo “hi 3a
晚上11点到早上8点之间每两个小时,早上8点
代码如下复制代码0 23-7/2,8 * * * date
在hp unix,中,每20分钟执行一次,表示为:0,20,40 * * * * 而不能采用*/n方式,否则出现语法错误,
crontab用法其实很容易掌握,懂得使用crontab,对网站和服务器维护起到很大的帮助,比如定时备份,定时优化服务器等。
说到备份我们来看一个利用crontab来定时备份mysql数据库
mysql_databasename_backup.sh备份使用
代码如下复制代码#!/bin/bash
extdir='/home/mysql/backup/';
extbase='auto_databasename_'`date '+%F'`;echo $extbase;
extfile='auto_databasename_'`date '+%F'`'.sql';echo $extfile;
echo ”开始备份数据...“
cd $extdir
mysqldump --opt databasename -u username -ppassword | gzip >$extdir$extfile.gz
echo ”删除本地7天前的备份数据...“
old_file='auto_databasename_'`date '+%F' --date='7 days ago'`'.*'
echo $old_file
rm -rf $extdir$old_file
mysql_autoback_cron.sh每天轮询用的
代码如下复制代码* 3 * * * /usr/share/jetty6/cron/mysql_databasename_backup.sh >/usr/share/jetty6/cron/mysql_autoback_cron_log.txt
一句话加入到crontab
代码如下复制代码crontab mysql_autoback_cron.sh
篇3:Linux计划任务crontab配置方法linux操作系统
计划任务是几乎所有系统中都有一个功能,下面我来介绍Linux计划任务crontab配置方法,有需要了解的朋友可参考,
如果要设定定时执行工作时,可以使用指令 crontab -e 来编辑自己的定时执行工作,crontab 会将使用者的工作设定放在 /var/cron/tabs 中。
我们先来看一下 /etc/crontab 的内容说明:
代码如下复制代码# 设定使用的 shell, 路径
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
# 设定执行指令时的目录
HOME=/var/log
# 当指令有输出数据时,要将输出的东西寄给谁。
MAILTO=”10000@qq.com“
如果你不想执行任务了我们可以直接删除了
crontab -r //删除所有任务调度工作
关于crontab
crontab -e 编辑该用户的crontab,当指定crontab 不存在时新建,
crontab -l 列出该用户的crontab。
crontab -r 删除该用户的crontab。
crontab -u 《用户名称》 指定要设定crontab的用户名称。
crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)
一个小小的给新手的提示
新手可能会这么写
代码如下复制代码1 00 00 * * * ntpdate asia.pool.ntp.org ;
但这么写是出错的,你可能百思不得其解,在命令状态下执行看下结果
代码如下复制代码12 -bash-4.1# ntpdate asia.pool.ntp.org
篇4:Linux中定时计划任务crontab使用实例linux操作系统
很多网友,提出疑问,说不知道,如何使用定时器,为了方便大家学习以及自己查阅,总结如下:
1、计划任务概说;
计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思,在Linux中,我们经常用到 crond 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定每天早上4点,对httpd 服务器重新启动,这就是一个计划任务;
下面我们先来说说cron;
2、cron;
在Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动。cron启动后,它会读取它的所有配置文件(全局性 配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用度工作任务。
2.1 cron 的安装和启动;
在一般情况下,cron都是系统默认安装的,我们要学会查看软件包是否已经安装;
crontab使用例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache,
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
每半小时同步一下时间
其它:定时访问一个指定URL
每天凌晨3点30访问这个URL
30 3 * * * /usr/bin/wget -q -O temp.txt mb.111cn.net
每10分钟访问这个URL
*/10 * * * * /usr/bin/wget -q -O temp.txt www.111cn.net
篇5:Linux系统计划任务crontab命令简单介绍linux操作系统
计划任务在linux中crontab命令来完成,今天我来介绍linux中crontab命令的一些简单用法与例子,希望文章对你会有所帮助哦,
Linux计划任务cron是一个定时模式,例如我们可以在系统使用最少时对系统进行备份,但是管理员不可能在半夜来到公司工作,那么就可以使用Linux计划任务cron,现在来介绍一下具体使用方法。
目前流行的Linux系统在安装好后cron都是安装好的并且是随机启动的
启动cron服务/sbin/service crond start
停止服务/sbin/service crond stop
重启服务/sbin/service crond restart
重新加载/sbin/service crond reload
服务的启动停止介绍完了下面来说如何添加计划任务
使用crontab命令
crontab -u设定某个用户的cron服务
crontab -l列出当前用户的cron服务的详细内容
crontab -r删除当前用户的cron服务
crontab -e编辑当前用户的cron服务
例如当前登陆的用户是root
运行crontab-e就给root用户创建一个计划任务
运行crontab -e进入vi编辑计划任务内容
第1位分钟表示(0-59)第2位表示小时(0-23)
第3位表示天(1-31)第4位表示月份(1-12)
第5位置表示星期(0-6)0表示星期日
后面www.111cn.net是你要执行的任务
每一位之间使用空格分开
上面时间除了使用数字还有几个特殊符号
“*”表示所有数值如第一位使用*表示每分钟
“/”表示每如果第一位使用*/5表示每5分钟
“-”表示数值范围“,”来隔开离散的数值如第2位是1-6,8表示1点到6点,还有8点
具体实例如下
每天1点向某个文件写入一段话
0 1 * * * echo ”helloworld“>>/tmp/test.txt
每5分钟向执行一个程序或者命令
*/5 * * * * 执行的命令
如何知道您的计划任务是否运行了,1你可以去检查您要执行的命令是否在你指定的时间去运行了,2有的命令运行结果不好查看你可以去查cron的日志/var/log/cron
在此文件中记录了计划任务执行的情况
上述方法添加完成计划任务后会在/var/spool/cron目录中生成一个用户名字的文件,文件里面就是你的计划任务,cron服务每分钟读取一次/var/spool/cron中的文件
还有一种方法可以添加计划任务自己编辑/etc/crontab(cron服务每分钟也读取一次/etc/crontab文件)
在文件的末尾添加计划任务格式和上述方法完全一样
/etc/crontab里面还有其他的东西,下面来说下
MAILTO=root//如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
01 * * * * root run-parts /etc/cron.hourly 每个小时去执行一遍/etc/cron.hourly内的脚本
0 24 * * * rootrun-parts /etc/cron.daily 每天去执行一遍/etc/cron.daily内的脚本
2 24 * * 0 root run-parts /etc/cron.weekly 每星期去执行一遍/etc/cron.weekly内的脚本
4 24 1 * * root run-parts /etc/cron.monthly 每个月去执行一遍/etc/cron.monthly内的脚本
注意上面的run-parts参数如果去掉run-parts后面就要跟要执行的某个脚本名,如果加上run-parts参数后面就要跟目录名了
也可以限制cron的使用
如果在/etc/目录中存在cron.allowcron.deny文件
只有cron.allow文件中列出的用户才能使用cron服务,同时忽略cron.deny文件
如果cron.allow文件不存在,cron.deny文件中列出的用户将被禁止使用cron服务,
这样我们就完成了Linux计划任务cron的学习。
补充一些例子:
crontab文件的的些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周 6、周日的1 : 10重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00的间每隔30分钟重启apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例www.111cn.net表示每星期 6的11 : 00 pm重启apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每的小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点的间的每隔的小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号和每周的到周 3的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
的月的号的4点重启apache
篇6:Linux中利用crontab创建计划任务
在linux中启动crontab服务:
/etc/init.d/crond start
crontab的命令格式
crontab -l 显示当前的crontab 文件(默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/roger)
crontab -r 删除当前的crontab (谨慎使用此方法,因为将会把所有的计划任务全部删除)
crontab -e 使用编辑器编辑当前的crontab文件
www.dnzg.cn
crontab 的文件格式:
minutes hour day-of-month month-of-year day-of-week commands
例如:
0 4 * * 2,5 /usr/bin/wall
*************解释:每周的周二和周五广播 /etc/motd中的信息************************************************
*/2 12-14 * 3-6,9-12 1-5 bash_scripts
*******************解释:每年的3-6月份,以及9-12月份的周一到周五的下午12-14点,每隔两分钟执行一个脚本*****
crontab的配置文件放在 /etc/crontab中
篇7:linux 中crontab格式详细说明linux操作系统
crontab是linux中一个常用的定时功能,也可以叫做是计划任务功能了,下面我来介绍crontab命令的一些格式与用法,
crontab是绝大多数Linux发行版都自带的一个定时执行程序的服务。通过crontab -e命令可以打开一个文本编辑器编辑当前用户的定时任务。
具体格式如下:
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
1 每行一个任务
2 每个任务分类6列,每列中间用空格或者tab间隔
3 前5列代表定时的周期,最后一列代表程序
4 前5列的顺序依次为:分 时 日 月 星期
5 表示仅某时执行就写具体的时间,每个周期都执行就用*代表
举几个具体的例子:
1 * * * * command(每小时的1分执行命令,比如:0点零1分,1点零1分……)
* * * * * command(每分钟都执行,每天执行1440次)
0 0 1 * * command(每月1号0点0分执行)
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache,
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
篇8:Windows中计划任务实现自动备份文件Windows服务器操作系统
我们来利用windows系统的计划任务来实现数据库的备份,1,是文件夹copy到固定的文件夹,2.是把文件夹copy以当天日期的自动生成的文件夹:
1:我们公司要做一个“统计每天下线影片”的应用,我先把这个功能做成一个WinForm程序,生成一个exe文件
2:“开始->程序->附件->系统工具”中找到它,打开“计划任务”窗口
3:双击“添加已计划的任务”项,启动“计划任务向导”
4:选择要执行的应用程序,这里我们选择的是具有“统计每天下线影片”功能的exe文件
5:输入任务名称,你可以使用默认名或者取一个你喜欢的名字,选择任务的执行方式,我们选择“每天”项
6:设置任务开始的时间和日期,默认情况是当前的时间和日期,我们将开始时间改为9:00,也就是我们上班的时间
7:单击“完成”按钮,”计划任务“窗口中就加入了一项新任务
先看看备份是乍么备案的吧!把下面几行代码拷贝成.bat文件(除了括号里面的),在每天定时执行计划里执行这个文件就可以了,
代码如下复制代码C:WINDOWSsystem32xcopy Z:b-b-car.com D:b-b-car.combak /y /e
(y:替换时不需确认,
代码如下复制代码set mmdd=%date:~0,4%%date:~5,2%%date:~8,2%C:WINDOWSsystem32xcopy Z:b-b-car.com D:b-b-car.combak%mmdd% /d /y /e
(d:目录 f:文件 y:替换时不需确认,e:复制所有文件)
自动备份数据库可用下面命令,注意数据库一定要有密码,因为没有密码还需确认一次,就达不到自动备份的效果
代码如下复制代码set mmdd=%date:~0,4%%date:~5,2%%date:~8,2%
mysqldump -h192.168.1.46 -ulinhaiquan -p123456 DB_Bbcar >d:b-b-car.combakdatabasesDB_Bbcar_”%mmdd: =%“”.sql“
篇9:Linux中crontab命令参数与使用说明linux操作系统
定时任务常用的一个功能,详细如下:
服务的启动和停止
cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
Linux代码
/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload
以上1-4行分别为启动、停止、重启服务和重新加载配置。
要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。
查看、编辑和删除
cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在 /var/spool/cron/ 下)。
file 使用file文件的内容作为某个用户的cron服务配置,内容会复制到cron服务的配置文件中
-u 设定某个用户的cron服务配置,一般root 用户在执行这个命令的时候需要此参数
-l 列出某个用户cron服务配置
-r 删除某个用户的cron服务配置
-e 编辑某个用户的cron服务配置,当指定crontab 不存在时新建,将使用vi打开配置文件进行编辑保存后退出,文件语法见后
crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)
如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME (如 crontab -e -u USERNAME )即可。
crontab文件的默认编辑器是vi,可以输入 export VISUAL=’editor’ 更改默认编辑器。
cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。
语法说明
每行表示一个指令,即表示一项计划任务;每行由空格分隔的六个部分组成,前5部分表示定时任务的执行时间,剩余部分为定时任务要执行的命令,格式如下:
分 小时 日 月 星期 命令
Minute Hour Day Month DayOfWeek command
Minute 每个小时的第几分钟执行该任务,0-59
Hour 每天的第几个小时执行该任务,0-23
Day 每月的第几天执行该任务,1-31
Month 每年的第几个月执行该任务,1-12
DayOfWeek 每周的第几天执行该任务,0-6,0表示周日
Command 指定要执行的程序
以上前五项可使用以下四个特殊符号:
* 表示所有数值,如第一位使用* 表示每分钟
/ 表示每,如第一位使用 */5 表示每5分钟
- 表示数值范围,如第二位使用2-4表示2点到4点
, 表示离散的多个数值,如第2位使用6,8 表示6点和8点
指定“步长”:8-14/2 表示8,10,12,14
指定列表:比如 “1,2,3,4″,”0-4,8-12″
在每行的六项字段中,除了Command是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
1)除去前五段,从第六段开始到换行符或者“%”为止,为要执行的命令。
2)默认第六段将被/bin/sh执行,除非在crontab文件中指定了非/bin/sh的SHELL变量。
3)第六段中的”%”号,除非前面加””号转交,否则,“%”号将结束命令行、换行的意义,并且其后的内容会被做为标准输入发送给前面的命令。
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
举例如下:
Every minute (* * * * *)
Every 5 minutes (*/5 * * * *)
Twice an hour (0,30 * * * *)
Once an hour (0 * * * *)
Twice a day (0 0,12 * * *)
Once a day (0 0 * * *)
Once a week (0 0 * * 0)
1st and 15th (0 0 1,15 * *)
Once a month (0 0 1 * *)
Once a year (0 0 1 1 *)
Linux代码
5 * * * * ls >/var/log.txt 指定每小时的第5分钟执行一次ls命令,并将结果保存到/var/log.txt文件
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令 [注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令 [注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令 [注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令,
]
cron配置文件
使用crontab命令添加完成计划任务后会在/var/spool/cron目录中生成一个用户名字的文件,文件里面就是你的计划任务,cron服务会每分钟读取一次/var/spool/cron 中的文件。
系统计划任务
还有一种方法可以添加计划任务,编辑/etc/crontab (cron服务每分钟也读取一次/etc/crontab文件。
用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
Linux代码
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ //使用者运行的路径,这里是根目录
# run-parts
#每小时执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
#每天执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily
#每星期执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
#每月去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意”run-parts”这个参数,如果去掉这个参数的话,后面就要写要运行的某个脚本名,而不是文件夹名。例如:11 2 21 10 * rm -rf /mnt/fb
以下是两个cron语句的例子(在 /etc/crontab 文件里)。前者用来晚间备份 /etc 目录,后者运行Analog程序处理服务器的统计信息。
Linux代码
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1
52 5 * * * root /usr/local/src/analog-5.32-lh/analog >>/dev/null 2>&1
以下是cron语句中的字段与字段说明:
字段 说明
1 分钟(0-59)
2 小时(0-23)
3 日期(1-31)
4 月份(1-12;或英文缩写Jan、Feb等)
5 周几(0-6,0为周日;或单词缩写Sun、Mon等)
6 用户名(执行命令时以此用户的身份)
7 要执行的命令(路径)
现在来看第一行:
Linux代码
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1
这条语句将在每天的凌晨3点12分 (03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>>/dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。
这条语句可以变得稍微复杂一点:
Linux代码
30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1
它将在6月13日周一的15:30 运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。
以下语句可以达到同样的效果:
Linux代码
30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1
如果你想以用户joey的身份每小时的第15分钟 运行某个程序,可以使用:
Linux代码
15 * * * * joey /usr/bin/somecommand >>/dev/null 2>&1
其中的星号(*)是通配符,表示cron将忽略这个字段。
如果你想每两小时 就运行某个程序,可以在小时字段里使用 */2 。它将会在2点,4点,6点……22点,24点运行。具体语句如下:
Linux代码
0 */2 * * * joey /usr/bin/somecommand >>/dev/null 2>&1
cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分 运行某个程序,可以在分钟字段使用 15,30 :
Linux代码
15,30 * * * * joey /usr/bin/somecommand >>/dev/null 2>&1
如果你想在每月的第一周(即1号到7号)每天的指定时间 运行某个程序,可以在日期字段使用 1-7 :
Linux代码
15,30 */2 1-7 * * joey /usr/bin/somecommand >>/dev/null 2>&1
这条语句将在每月的第1-7日每两小时的15分和30分 (02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。
如果你想在每天的16:18 执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:
Linux代码
18 16 * * * root run-parts /home/username/cron >>/dev/null 2>&1
如果你想保存某个程序的输出结果, 可以把 >>/dev/null 2>&1 替换为 >>/home/user/somecommand.log 2>&1 。
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
总结
查看当前用户的cron配置,使用 crontab -l
编辑当前用户的cron配置,使用 crontab -e
删除当前用户的cron配置,使用 crontab -r
以root身份查看/编辑/删除某用户的cron配置,在命令后加上 -u USERNAME
配置系统级的任务,编辑 /etc/crontab 文件
篇10:linux中crontab不能正常执行原因linux操作系统
本文章来给大家介绍在linux中的一个定时功能crontab不能正常执行的几种原因总结,欢迎各位朋友进入参考,
1 crond服务未启动
crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止。如果停止了就无法执行任何定时任务了,解决的方法是打开它:
crond
或
service crond start
如果提示crond命令不存在,可能被误删除了,CentOS下可以通过这个命令重新安装:
yum -y install crontabs
2 权限问题
比如:脚本没有x执行权限,解决方法:
增加执行权限,或者用bash abc.sh的方法执行
3 路径问题
有的命令在shell中执行正常,但是在crontab执行却总是失败,
有可能是因为crontab使用的sh未正确识别路径,比如:以root身份登录shell后执行一个/root/test.sh,只要执行
./test.sh
就可以了。但是在crontab中,就会找不到这个脚本,比如写完整:
/root/test.sh
4 时差问题
因为服务器与客户端时差问题,所以crontab的时间以服务器时间为准。
5 变量问题
有时候命令中含有变量,但crontab执行时却没有,也会造成执行失败
篇11:linxu中vim作为crontab e的默认编辑器linux操作系统
本文章来给各位同学介绍关于linxu中vim作为crontab -e的默认编辑器设置方法,希望些方法对各位同学会有所帮助哦,
设置命令很简单
代码如下复制代码echo “export EDITOR=/usr/bin/vim“>>.bashrc
然后重新打开终端,输入crontab -e,发现已经默认使用vim了。
linux下vim命令详解
:qx 开始记录宏,并将结果存入寄存器x
q 退出记录模式
@x 播放记录在x寄存器中的宏命令
稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模
式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@x20,可以重复20次。这个在文本的批处理中是非常有用的。
同时编辑多个文件
在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。
标签命令
:tabe fn 在一个新的标签页中编辑文件fn
gt 切换到下一个标签页
gT 切换到上一个标签页
:tabr 切换到第一个标签页
:tabl 切换到最后一个标签页
:tabm [N] 把当前tab移动到第N个tab之后
对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!
窗口命令
ctrl+w s 水平分割窗口
ctrl+w w 切换窗口
ctrl+w q 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)
ctrl+w v 垂直分割窗口
其他
vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。
:e file 把file加载到新的缓冲区中
:bn 跳转到下一个缓冲区
:bd 删除缓冲区(关闭文件)
:sp fn 分割窗口,并将fn加载到新的窗口中
退出编辑器
:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改
查找替换
/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N 上一个匹配(同上)
:%s/old/new/g 搜索整个文件,将所有的old替换为new
:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
复制粘贴
dd 删除光标所在行
dw 删除一个字(word)
x 删除当前字符
X 删除前一个字符
D 删除到行末
yy 复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行
yw 复制一个字
y$ 复制到行末
p 粘贴粘贴板的内容到当前行的下面
P 粘贴粘贴板的内容到当前行的上面
]p 有缩进的粘贴,vim会自动调节代码的缩进
”a 将内容放入/存入a寄存器,可以支持多粘贴板
附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为"+p,注意此处的+不表示操作符,二十一个寄存器。
移动光标
在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。
h,j,k,l 上,下,左,右
ctrl-f 上翻一页
ctrl-b 下翻一页
% 跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处
w 跳到下一个字首,按标点或单词分割
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至当前光标所在的变量的声明处
[N]G 跳到第N行,如0G,就等价于gg,100G就是第100行
fx 在当前行中找x字符,找到了就跳转至
; 重复上一个f命令,而不用重复的输入fx
tx 与fx类似,但是只是跳转到x的前一个字符处
Fx 跟fx的方向相反
),( 跳转到上/下一个语句
* 查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找
`. 跳转至上次编辑位置
在屏幕上移动
H 移动光标到当前屏幕上最上边的一行
M 移动光标到当前屏幕上中间的一行
L 移动光标到当前屏幕上最下边的一行
书签
ma 把当前位置存成标签a
`a 跳转到标签a处
编辑
r 替换一个字符
J 将下一行和当前行连接为一行
cc 删除当前行并进入编辑模式
cw 删除当前字,并进入编辑模式
c$ 擦除从当前位置至行末的内容,并进入编辑模式
s 删除当前字符并进入编辑模式
S 删除光标所在行并进入编辑模式
xp 交换当前字符和下一个字符
u 撤销
ctrl+r 重做
. 重复上一个编辑命令
~ 切换大小写,当前字符
g~iw 切换当前字的大小写
gUiw 将当前字变成大写
guiw 将当前字变成小写
>> 将当前行右移一个单位
<< 将当前行左移一个单位(一个tab符)
== 自动缩进当前行
插入模式
i 从当前光标处进入插入模式
I 进入插入模式,并置光标于行首
a 追加模式,置光标于当前光标之后
A 追加模式,置光标于行末
o 在当前行之下新加一行,并进入插入模式
O 在当前行之上新加一行,并进入插入模式
Esc 退出插入模式
可视模式
标记文本
v 进入可视模式,单字符模式
V 进入可视模式,行模式
ctrl+v 进入可视模式,列模式,类似于UE的列模式
o 跳转光标到选中块的另一个端点
U 将选中块中的内容转成大写
O 跳转光标到块的另一个端点
aw 选中一个字
ab 选中括号中的所有内容,包括括号本身
aB 选中{}括号中的所有内容
ib 选中括号中的内容,不含括号
iB 选中{}中的内容,不含{}
对标记进行动作
> 块右移
< 块左移
y 复制块
d 删除块
~ 切换块中内容的大小写
★ Linux系统中配置构建Postfix文档linux操作系统
★ linux中利用shell实现批量转换文件编码linux操作系统
★ IIS中php sendmail函数无法发送邮件Windows服务器操作系统
linux中crontab 计划任务linux操作系统(共11篇)




