当前位置: 首页 > news >正文

网站 备案 营业执照互联网全媒体广告代理

网站 备案 营业执照,互联网全媒体广告代理,个人网站类型,龙岩长汀crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的…

crontab命令详解

linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

 一、crond简介

crondlinux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

Linux下的任务调度分为两类系统任务调度用户任务调度

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

/etc/crontab文件包括下面几行:


[root@localhost ~]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=""HOME=/# run-parts51 * * * * root run-parts /etc/cron.hourly24 7 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly[root@localhost ~]#

前四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行 命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。第六至九行表示的含义将在下个小节详细讲述。这里不在多说。

用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。

使用者权限文件

  • 文件:/etc/cron.deny

  • 说明:该文件中所列用户不允许使用crontab命令

  • 文件:/etc/cron.allow

  • 说明:该文件中所列用户允许使用crontab命令

  • 文件:/var/spool/cron/

  • 说明:所有用户crontab文件存放的目录,以用户名命名

crontab文件的含义

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute  hour  day  month  week  command

其中:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:

  • 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

二、crond服务

安装crontab

yum install crontabs

服务操作说明

/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置

查看crontab服务状态

service crond status

手动启动crontab服务

service crond start

查看crontab服务是否已设置为开机启动,执行命令

ntsysv

加入开机自动启动

chkconfig –level 35 crond on

三、crontab命令详解

1.命令格式:

crontab [-u user] filecrontab [-u user] [ -e | -l | -r ]

2.命令功能:

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。

3.命令参数:

  • -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

  • file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

  • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

  • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

  • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

  • -i:在删除用户的crontab文件时给确认提示。

4.常用方法:

1). 创建一个新的crontab文件

在 考虑向cron进程提交一个crontab文件之前,首先要做的一件事情就是设置环境变量EDITOR。cron进程根据它来确定使用哪个编辑器编辑 crontab文件。9 9 %的 UNIX 和 LINUX 用户都使用 vim,如果你也是这样,那么你就编辑 $ HOME 目录下的 . profile 文件,在其 中加入这样一行:

EDITOR=vi; export EDITOR

然后保存并退出。不妨创建一个名为 <user> cron 的文件,其中 <user> 是用户名,例如, davecron。在该文件中加入如下的内容。

# (put your own initials here)echo the date to the console every# 15minutes between 6pm and 6am0,15,30,45 18-06 * * * /bin/echo ‘date’ > /dev/console

保存并退出。确信前面5个域用空格分隔。

在 上面的例子中,系统将每隔1 5分钟向控制台输出一次当前时间。如果系统崩溃或挂起,从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。在有些 系统中,用 tty1 来表示控制台,可以根据实际情况对上面的例子进行相应的修改。为了提交你刚刚创建的 crontab 文件,可以把这个新创建的文件作为 cron 命令的参数:

 

$ crontab davecron

现在该文件已经提交给 cron 进程,它将每隔1 5分钟运行一次。

同时,新创建文件的一个副本已经被放在 /var/spool/cron 目录中,文件名就是用户名(即dave)。

2). 列出crontab文件

为了列出crontab文件,可以用:

$ crontab -l0,15,30,45,18-06 * * * /bin/echo `date` > dev/tty1

在 $HOME目录中对 crontab 文件做一备份

$ crontab -l > $HOME/mycron

这样,一旦不小心误删了crontab文件,可以用上一节所讲述的方法迅速恢复。

3). 编辑crontab文件

如果希望添加、删除或编辑 crontab 文件中的条目,而 EDITOR 环境变量又设置为 vi,那么就可以用 vi 来编辑crontab 文件,相应的命令为:

$ crontab -e

可以像使用 vi 编辑其他任何文件那样修改 crontab 文件并退出。如果修改了某些条目或添加了新的条目,那么在保存该文件时, cron 会对其进行必要的完整性检查。如果其中的某个域出现了超出允许范围的值,它会提示你。

我们在编辑 crontab 文件时,没准会加入新的条目。例如,加入下面的一条:

# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month30 3 1,7,14,21,26 * * /bin/find -name “core’ -exec rm {} \;

现在保存并退出。最好在 crontab 文件的每一个条目之上加入一条注释,这样就可以知道它的功能、运行时间,更为重要的是,知道这是哪位用户的作业。

现在让我们使用前面讲过的 crontab -l 命令列出它的全部信息:

$ crontab -l# (crondave installed on Tue May 4 13:07:43 1999)# DT:ech the date to the console every 30 minites0,15,30,45 18-06 * * * /bin/echo `date` > /dev/tty1# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month30 3 1,7,14,21,26 * * /bin/find -name “core’ -exec rm {} \;
4). 删除crontab文件

要删除 crontab 文件,可以用:

$ crontab -r

从/var/spool/cron目录中删除用户的crontab文件。 如果不指定用户,则默认删除当前用户的crontab文件
crontab –i 在删除用户的crontab文件时给确认提示

5). 恢复丢失的crontab文件

如果不小心误删了 crontab 文件,假设你在自己的 $HOME 目录下还有一个备份,那么可以将其拷贝到 /var/spool/cron/<username>,其中 <username> 是用户名。如果由于权限问题无法完成拷贝,可以用:

$ crontab <filename>

其中,<filename> 是你在 $HOME 目录中副本的文件名。

建议在自己的 $HOME 目录中保存一个该文件的副本。防止误删。因为容易误删,有些系统文档建议不要直接编辑 crontab 文件,而是编辑该文件的一个副本,然后重新提交新的文件。

有些 crontab 的变体有些怪异,所以在使用 crontab 命令时要格外小心。如果遗漏了任何选项,crontab 可能会打开一个空文件,或者看起来像是个空文件。这时敲 delete 键退出,不要按 <Ctrl-D> ,否则你将丢失crontab 文件。

5. 格式示例:

小结:

  • *表示任何时候都匹配
  • "a,b,c" 表示a 或者 b 或者c 执行命令
  • "a-b" 表示a到b 之间 执行命令
  • "*/a" 表示每 a分钟(小时等) 执行一次
  • crontab 不能编辑系统级的 任务
其他需求 : crontab 最小执行时间是分钟,如果是需要 半分钟执行,如果实现呢?,看如下:

每30秒 把时间写入 /tmp/cron.txt 文件

*/1 * * * * data >> /tmp/cron.txt
*/1 * * * * sleep 30s;data >> /tmp/cron.txt

crontab 的配置文件

文件说明
/etc/crontab全局配置文件
/etc/cron.d这个目录用来存放任何要执行的crontab文件或脚本
/etc/cron.deny该文件中所列用户不允许使用crontab命令
/etc/cron.allow该文件中所列用户允许使用crontab命令
/var/spool/cron/所有用户crontab文件存放的目录,以用户名命名,比如你是root 用户,那么当你添加任务是,就会在该路径下有一个root文件。
/etc/cron.deny该文件中所列用户不允许使用crontab命令
/var/log/croncrontab 的日志文件

注意事项

1、环境变量
环境变量的值,在crontab 文件中获取不到,所以要注意,可以写脚本
2、%
在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%
`59 1 1-7 4 * test 'date +\%w' -eq 0 && /root/a.sh `

http://www.dt0577.cn/news/43187.html

相关文章:

  • 国内做卷学习网站上海小红书seo
  • 网站怎么上线sem是什么专业
  • 设计师一般上什么网站石家庄网站建设案例
  • 保定市共青团下属网站一个完整的营销策划方案范文
  • 主机租赁平台seo营销的概念
  • 免费wordpress主题下载seo兼职工资一般多少
  • 重庆网站建设最大免费海报模板网站
  • 网站内部链接怎么做百度自动搜索关键词软件
  • 辽宁沈阳做网站大数据是干什么的
  • 网站如何做移动适配网店推广方式有哪些
  • 网站设计制作用软件如何去推广一个app
  • 旅游社做的最好的网站谷歌sem和seo区别
  • 一个公司网站备案百度搜索指数1000是什么
  • 网站设计的规范seo建站网络公司
  • 专做茶叶的网站360网站安全检测
  • 网站接入网方式cms建站系统
  • wordpress文章列表天津seo推广服务
  • 网站建设合同内容手机app软件开发
  • 陕西省和城乡建设厅网站百度指数是免费的吗
  • 培训通网站建设地域名网址查询
  • 福田区网站建网站推广的要点
  • 龙采做网站要多少钱网络广告策划案例
  • 白云做网站的公如何引流推广
  • 重庆网站建设最大百度高级搜索功能
  • 网站如何做电脑销售私域营销
  • 怎么样在公司配置服务器做网站2023年10月爆发新冠
  • 克隆网站怎么做后台上海今天最新发布会
  • 考研网站做刷词友情链接的形式有哪些
  • opkg 做网站的包叫什么名字青岛seo关键词排名
  • 厦门网站制作公司推荐seo服务是什么