美文网首页
linux 系统计划任务cron学习慕课笔记

linux 系统计划任务cron学习慕课笔记

作者: 小钟钟同学 | 来源:发表于2018-03-01 15:05 被阅读50次

linux 系统计划任务cron:

1:检查cron服务

-检查Crontab工具是否安装:

crontab -l

-检查crond服务是否启动:

service crond status

-检查有哪些命令可以使用:

-Centos 7.3
[root@localhost bak]# service crond
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
[root@localhost bak]# 
-Centos 6.5
[wuju@bogon ~]$ service crond 
用法:/etc/init.d/crond {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
[---@bogon ~]$ service crond status
crond (pid  1961) 正在运行...
[---@bogon ~]$ 

服务重启

 1 /etc/init.d/crond restart
 2 service crond restart

2:如果没有安装,则安装cron

- yum install vixie-cron
- yum install crontabs

3:示例说明

目的: 每分钟打印当前时间到一个日志文件中

- */1 * * * * date >> tmp/log.txt

步骤:

[root@localhost bak]# crontab -e
按下o:
进到最后一行:
输入
*/1 * * * * date >> tmp/log.txt
按ESC退出
输入:wq (写入并退出)
然后查看一下写入的情况:
ot@localhost bak]# crontab -l

*/1 * * * * date >> /tmp/log.txt # 写入成功
[root@localhost bak]# 

查看是否执行成功:

[root@localhost bak]# date
Thu Mar  1 01:48:48 EST 2018
(实时展示当前日志)
[root@localhost bak]# tail -f /tmp/log.txt 
Thu Mar  1 01:40:02 EST 2018
Thu Mar  1 01:41:01 EST 2018
Thu Mar  1 01:42:01 EST 2018
Thu Mar  1 01:43:01 EST 2018
Thu Mar  1 01:44:01 EST 2018
Thu Mar  1 01:45:01 EST 2018
Thu Mar  1 01:46:01 EST 2018
Thu Mar  1 01:47:01 EST 2018
Thu Mar  1 01:48:01 EST 2018
Thu Mar  1 01:49:01 EST 2018

查看crontab 命令相关:

[root@localhost bak]# crontab -help
crontab: invalid option -- 'h'
crontab: usage error: unrecognized option
Usage:
 crontab [options] file
 crontab [options]
 crontab -n [hostname]

Options:
 -u <user>  define user
 -e         edit user's crontab
 -l         list user's crontab
 -r         delete user's crontab
 -i         prompt before deleting
 -n <host>  set host in cluster to run users' crontabs
 -c         get host in cluster to run users' crontabs
 -s         selinux context
 -x <mask>  enable debugging

Default operation is replace, per 1003.2
[root@localhost bak]# 

查看对应的写入的任务:

[root@localhost bak]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

[root@localhost bak]#

-------------------查看对应的----------------------------------------------

[root@localhost bak]# crontab -l

*/1 * * * * date >> /tmp/log.txt
[root@localhost bak]# 

任务取消

删除crontab内容里的test2.sh的任务

其实该处是使用sed命令来处理/var/spool/cron/root 文件,将含test2.sh的行的内容删除掉。

sed -i '/test2.sh/d' /var/spool/cron/root  

PS 定时任务说明:

(系统级的)做系统级配置我们会直接配置 /etc/crontab

(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。

方法1:

使用命令 crontab -e 然后直接编辑定时脚本。

这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。

如:

[root@localhost bak]# cd /var/spool/cron/
[root@localhost cron]# ll
total 4
-rw-------. 1 root root 34 Mar  1 01:36 root
[root@localhost cron]# pwd
/var/spool/cron
[root@localhost cron]# cat root 

*/1 * * * * date >> /tmp/log.txt
[root@localhost cron]#

方法2:

使用命令 vi /etc/crontab 编辑定时脚本。
如:

使用命令 vi /etc/crontab 编辑定时脚本。

如:

[root@localhost ~]# cat /etc/crontab                                                                                                                                                                      
SHELL=/bin/bash                                                                                                                                                                                           
PATH=/sbin:/bin:/usr/sbin:/usr/bin                                                                                                                                                                        
MAILTO=root                                                                                                                                                                                               
HOME=/                                                                                                                                                                                                    
                                                                                                                                                                                                          
# run-parts                                                                                                                                                                                               
30 * * * * root /usr/sbin/ntpdate 210.72.145.44                                                                                                                                                           
#30 8 * * * root /usr/sbin/ntpdate 132.228.90.101                                                                                                                                                         
01 * * * * root run-parts /etc/cron.hourly                                                                                                                                                                
02 4 * * * root run-parts /etc/cron.daily                                                                                                                                                                 
22 4 * * 0 root run-parts /etc/cron.weekly                                                                                                                                                                
42 4 1 * * root run-parts /etc/cron.monthly                                                                                                                                                               
*/1 * * * * root run-parts /opt/openoffice.org3/program/start.sh                                                                                                                                          
############################################                                                                                                                                                              
                                                                                                                                                                                                          
30 4 * * * root /usr/bin/rsync -vzrtopg --progress --delete root@192.168.231.35::resource /hyy/bak/resource 
30 4 * * * root /usr/bin/rsync -vzrtopg --progress --delete root@192.168.231.35::log /hyy/bak/log
############################################
[root@localhost ~]# 

注意:在linux下的crontab会自动帮我们每分钟重新读取一次/etc/crontab的例行工作事项,但是某些原因或在其他的unix系统中,由于crontab是读到内存中,所以在您修改完/etc/crontab之后可能并不会马上执行,这时请重新启动crond服务。

/etc/rc.d/init.d/crond restart

详细可以参考:
https://www.cnblogs.com/xd502djj/p/4292781.html

相关文章

  • linux 系统计划任务cron学习慕课笔记

    linux 系统计划任务cron: 1:检查cron服务 -检查Crontab工具是否安装: -检查crond服务...

  • 使用Linux crontab命令自动重启服务

    循环运行的计划任务,Linux系统则是由cron/crond这个系统服务来控制的。Linux系统上面原本就有非常多...

  • ubuntu下的定时器编写

    ubuntu下的定时器编写 一、cron简介 在Linux系统中,计划任务一般是由cron承担,我们可以把cron...

  • cron与anacron

    cron cron 是 linux 中运行例行性工作的一个服务,守护进程是crond,是一个用于运行计划任务如系统...

  • Linux | 计划任务 cron介绍

    一 cron 是什么 cron是linux的计划任务,你可以把它想象成系统的日程表,规定了操作系统什么时间该干什么...

  • robfig/cron

    cron Linux中使用内置cron计划任务服务,按照约定的时间定时执行特定的任务(job)。cron服务启动后...

  • linux 命令笔记

    前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (cro...

  • linux crontab 定时任务格式和使用方法2019-01

    前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (cro...

  • linux之计划任务

    实现Linux定时任务有:cron、anacron、at等,这里主要介绍cron服务。 那计划任务指的是什么呢? ...

  • 20.Linux中的计划任务

    Linux中的计划任务At单次执行计划任务cron 计划任务的使用计划任务:在某个时段自动执行某个任务。 Linu...

网友评论

      本文标题:linux 系统计划任务cron学习慕课笔记

      本文链接:https://www.haomeiwen.com/subject/fobgxftx.html