2019-03-22课堂笔记

2019-03-22课堂笔记_第1张图片

[if !vml]

[endif]

[if !vml]

2019-03-22课堂笔记_第2张图片

[endif]

2019-03-22课堂笔记_第3张图片


Sgcal



3w1h        框架

Linux系统定时任务Cron(d)服务应用实践

系统定时任务:

[if !supportLists]1、 [endif]什么是定时任务?

周期性得执行任务计划得软件,Linux定时任务得常用软件crond。



[if !supportLists]2、 [endif]使用定时任务软件,可以每天,每小时按你得需求重复得执行一项工作。

例如:备份    都是0点以后,2点爬起来备份,4点以后睡觉。

需要写一个程序实现自动备份,然后让定时软件帮助你执行。

闹钟。。。。。。可以追求女朋友。。。


[if !supportLists]3、 [endif]怎样用。


[if !supportLists](1)    [endif]用户定时任务计划

[if !vml]

2019-03-22课堂笔记_第4张图片

[endif]


要想配置定时任务,首先启动cron服务。

[if !vml]

[endif]


开启自启动:

[if !vml]

[endif]

[root@quyunlong~]# systemctl status crond

● crond.service - Command Scheduler

  Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendorpreset: enabled)

  Active: active (running) since Thu 2019-03-21 16:39:43 CST; 17h ago

 MainPID: 6684 (crond)

  CGroup: /system.slice/crond.service

          └─6684 /usr/sbin/crond -n


Mar 21 16:39:43 quyunlong systemd[1]:

Started Command Scheduler.

Mar 21 16:39:43 quyunlong crond[6684]:

(CRON) INFO (RANDOM_DELAY will be...)

Mar 21 16:39:44 quyunlong crond[6684]:

(CRON) INFO (running with inotify...)

Hint: Some lines were ellipsized, use -l to

show in full.

[root@quyunlong~]#


Crontab 命令是用来设置定时任务规则得配置命令

定时任务内容存放得位置/var/spool/cron/

以当前用户明作为文件名

-l      查看已经设置得定时任务

-e     edit编辑定时任务

-u     查看特定用户下得定时任务


Crontab –l ==cat  /var/spool/cron/root

Crontab –e ==vim  /var/spool/cron/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

# | |  |  |  |

# * *  *  *  *command to be executed


共六列:

第一列:分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

第六列:要执行得任务命令程序


特殊符号:

*表示得每或每一天得意思

00 23 * * * cmd


-连续分隔符 1-10

00 8-23 * * * cmd


,列举    1,2,3,4,8,

[if !supportLists]00   [endif]1,2,3,4,8,* * * cmd


/n  n是数字。

*/10 * * * * cmd


[if !vml]

[endif]







[if !supportLists](2)    [endif]系统定时任务计划

[if !supportLists]1.     [endif]不用管理员干预,系统自动执行。

[if !supportLists]2.     [endif]也可以利用系统任务为管理员服务。


2019-03-22课堂笔记_第5张图片

[if !vml]

[endif]


=============================================

*/1 * * * * /bin/sh /scripts/[if !vml]

[endif]data.sh

30 3,12 * * * /bin/sh /scripts/[if !vml]

[endif]oldboy.sh

30 */6 * * *    /bin/sh /scripts/[if !vml]

[endif]oldboy.sh

30 8-18/2 * * * /bin/sh /scripts/[if !vml]

[endif]oldboy.sh

30 21 * * *

最强大脑

45 4 1,10,22 * * /application/apache/bin/apachectl graceful

10 1 * * 6,0 /application/apache/bin/apachectl graceful

0,30 18-23 * * * /application/apache/bin/apachectl graceful

00 */1 * * * /application/apache/bin/apachectl graceful

#################

* 23,00-07/1 * * * /application/apache/bin/apachectl graceful

00 */1 * * *

00 11 * 4 1-3 /application/apache/bin/apachectl graceful

每周日上午9:30去老男孩教育上课每天上午8:30去老男孩教育上课,这是脱产班的上课频率。


30 9 * * */0 cmd

30 8 * * * cmd



实践:

1

、每分钟追加一次oldboy字符串到/tmp/oldboy.log里

[if !vml]

2019-03-22课堂笔记_第6张图片

[endif]

2019-03-22课堂笔记_第7张图片


2019-03-22课堂笔记_第8张图片


[if !vml]

2019-03-22课堂笔记_第9张图片

[endif]


2019-03-22课堂笔记_第10张图片

[if !supportLists]1、 [endif]命令行执行

[if !supportLists]2、 [endif]尽量用脚本文件实现

[if !vml]

2019-03-22课堂笔记_第11张图片

[endif]

2019-03-22课堂笔记_第12张图片


范例13-3:每天晚上0点,把站点目录/var/www/html下的内容打包备份到/data目录下,并且要求每次生成不同的备份包名。

至少分三步:

1.

命令行稿成功准备工作:

[root@oldboyedu ~]# mkdir /var/www/html /data -p

具体命令:

[root@oldboyedu ~]# tar zcvf /data/html_$(date +%F).tar.gz /var/www/html/

tar: Removing leading `/' from member names

/var/www/html/

[root@oldboyedu ~]# ll /data

total 4

-rw-r--r-- 1 root root 117 Mar 22 11:59 html_2019-03-22.tar.gz

2

、编写定时任务

[root@oldboyedu ~]# crontab -l

00 00 * * * tar zcvf /data/html_$(date +%F).tar.gz /var/www/html/

错了,不执行。。。。看报错日志。。。错误日志定时任务没有执行,出错了日志在哪里?出错日志/var/log/cron

Mar 22 12:03:01 oldboyedu CROND[18770]: (root) CMD (tar zcvf /data/html_$(date +)

定时任务对%的要求,百分号要转义。\%

正确答案:

[root@oldboyedu ~]# crontab -l

00 00 * * * tar zcvf /data/html_$(date +\%F).tar.gz /var/www/html/

优秀的答案(企业里):

1.

命令行执行

cd /var/www

tar zcf /data/html_$(date +%F).tar.gz ./html

2.

尽量用脚本文件实现

#mkdir /server/scripts -p #

存放脚本的文件

cd /server/scripts

#cat[if !vml]

[endif]bak.sh

cd /var/www

tar zcf /data/html_$(date +%F).tar.gz ./html

命令行执行:

/bin/sh /server/scripts/[if !vml]

[endif]bak.sh

3

、编辑定时任务

#bak html dir by oldboy at 2020108

00 00 * * * /bin/sh /server/scripts/[if !vml]

[endif]bak.sh &>/dev/null

[root@oldboyedu /server/scripts]# crontab -l|tail -2

#bak html dir by oldboy at 2020108

00 00 * * * /bin/sh /server/scripts/[if !vml]

[endif]bak.sh &>/dev/null

4

、检查正式结果

[root@oldboyedu /server/scripts]# ls -l /data




运维规范:

脚本位置:/server/scripts

软件位置:/server/tools

编译位置:/application/软件名字-版本,然后要软连接。


[if !vml]

[endif]

[if !vml]

[endif]

[if !vml]

[endif]

2019-03-22课堂笔记_第13张图片


物  人   时间   


考试:考到定时任务。



下周

用户管理1天

磁盘管理:2-3天


网络基础:4天 2天基础  2天实践

Shell基础:2天

三剑客深入1-2天

进程管理命令、安装命令1天


第一阶段结束:

第二阶段,搭建集群。

mso-far

你可能感兴趣的:(2019-03-22课堂笔记)