linux中crontab 计划任务linux操作系统

时间:2022-12-12 05:22:47 作者:瑶台月下 综合材料 收藏本文 下载本文

“瑶台月下”通过精心收集,向本站投稿了11篇linux中crontab 计划任务linux操作系统,以下是小编精心整理后的linux中crontab 计划任务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操作系统

如何解决Windows 7操作系统中软件乱码问题

巧用计划任务实现人性化定时关机

Windows操作系统防毒高招

linux中利用shell实现批量转换文件编码linux操作系统

Windows操作系统常见安全问题解决方法

IIS中php sendmail函数无法发送邮件Windows服务器操作系统

浅析组件机制和操作系统的实现的论文

Linux 修改用户密码方法介绍linux操作系统

WIN技巧:术语详解之WINDOWS操作系统

linux中crontab 计划任务linux操作系统(共11篇)

欢迎下载DOC格式的linux中crontab 计划任务linux操作系统,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档