day24:定时任务(2)

主要内容:

定时任务实际备份案例
定时任务箴言(坑)

一、定时任务是备份案例:

1.每天晚上12点打包备份/etc目录到/tmp下
(1)命令行测试
[root@oldedu59 ~]# #命令行测试
[root@oldedu59 ~]# tar zcf /tmp/etc-$(date +%F).tar.gz /etc/ 
tar: Removing leading `/' from member names
[root@oldedu59 ~]# ll /tmp/etc-2019-04-28.tar.gz 
-rw-r--r-- 1 root root 10213180 Apr 28 09:53 /tmp/etc-2019-04-28.tar.gz
[root@oldedu59 /tmp]# tar xf /tmp/etc-2019-04-28.tar.gz
(2)书写脚本
▽root@oldedu59 ~]# #书写脚本
[root@oldedu59 ~]# mkdir -p /server/scripts 
[root@oldedu59 ~]# cat /server/scripts/bak-etc.sh
cat: /server/scripts/bak-etc.sh: No such file or directory
[root@oldedu59 ~]# vim /server/scripts/bak-etc.sh
#!/bin/bash
tar zcf /tmp/etc-$(date +%F).tar.gz /etc/
(3)测试脚本
[root@oldedu59 ~]# cat /server/scripts/bak-etc.sh
#!/bin/bash
tar zcf /tmp/etc-$(date +%F).tar.gz /etc/
[root@oldedu59 ~]# sh /server/scripts/bak-etc.sh
tar: Removing leading `/' from member names
[root@oldedu59 ~]# ll /tmp/etc-2019-04-28.tar.gz 
-rw-r--r-- 1 root root 10213180 Apr 28 09:57 /tmp/etc-2019-04-28.tar.gz
(4)写入任务;改为每分钟先检查
[root@oldedu59 ~]# #写入定时任务,改为每分钟进行检查
[root@oldedu59 ~]# crontab -e
#show time  by ylz  at 20190426
#*/2 * * * *  date  >>/tmp/time.log
#beifeng   by ylz  at 2019-4-28
* * * * *  sh /server/scripts/bak-etc.sh
[root@oldedu59 ~]# tail -f  /var/log/cron(看日志  /var/log/cron)
[root@oldedu59 ~]# ll  /tmp/etc-2019-04-28.tar.gz (看结果)
-rw-r--r-- 1 root root 5341184 Apr 28 10:22 /tmp/etc-2019-04-28.tar.gz
(5)写入定时任务
[root@oldedu59 ~]# crontab -e
#show time  by ylz  at 20190426
#*/2 * * * *  date  >>/tmp/time.log   2>&1
#beifeng   by ylz  at 2019-4-28
00 00 * * *  sh /server/scripts/bak-etc.sh   >/dev/null          2>&1   
[root@oldedu59 ~]# cat /var/log/cron
[root@oldedu59 ~]# ll  /tmp/etc-2019-04-28.tar.gz 
-rw-r--r-- 1 root root 5341184 Apr 28 10:22 /tmp/etc-2019-04-28.tar.gz
2.书写脚本排错

(1)先运行里面的命令
(2)sh -x:运行脚本时 显示脚本的执行过程

[root@oldboyedu59 ~]# sh -x /server/scripts/bak-etc.sh 
++ date +%F
+ tar zcf /tmp/etc-2019-04-28.tar.gz /etc/
tar: Removing leading `/' from member names

带加号的为脚本的执行过程
加好越多越优先执行

二、定时任务箴言(坑)

1.书写定时任务时一定要加上一个注释
2.在书写定时任务的时候尽量使用脚本
3.运行脚本时用sh
4.定时任务中%有特殊含义
5.在定时任务中命令和脚本尽量使用绝对路径
    用户的定时任务
        如果没有用绝对路径,则在用户的家目录
    系统的定时任务
        如果没有用绝对路径,则在跟下
6.在定时任务里面每个命令或脚本可以有两个选择:定向到空或追加到文件

(1)预备知识

/dev/null 黑洞
>/dev/null 2>/dev/null 正确的信息 错误的信息都定向到黑洞中
>/dev/null 2>&1 正确的信息 错误的信息都定向到黑洞中
&>/dev/null 正确的信息 错误的信息都定向到黑洞中

(2)写法

[root@oldedu59 ~]# crontab -e
#show time  by ylz  at 20190426
#* * * * *  date +\%F_\%w                  >>/tmp/time.log     2>&1
#beifeng   by ylz  at 2019-4-28
#* * * * *  sh /server/scripts/bak-etc.sh  >/dev/null          2>&1

(3)原因:如果不定向到空或追加到文件;定时任务会以邮件的形式把输出到屏幕的内容发给你
(4)故障案例:定时任务没有定向到空或者追加到文件的故障

系统邮件服务开启:
你就会不断收到邮件
You hava new mail in /var/spool/mail/root

系统邮件服务关闭(大部分情况):

把没有发送出去的邮件 临时放起来
/var/spool/postfix/maildrop (这个目录下面会有大量的小文件)
可以发现 邮件临时目录有大量小文件
日积月累会导致占用系统大量inode

7.定时任务运行脚本环境变量的问题

(1)原因:定时任务运行脚本时,PATH只认识/usr/bin/和/bin/的命令
(2)解决故障:

使用命令时使用绝对路径
在脚本的开头重新设置一下PATH(记录着命令的路径)
使用命令:. /etc/profile 或者source /etc/profile

错误展示:

(1)找到错误:

[root@oldboyedu59 ~]# vim /server/scripts/bak-etc.sh
#!/bin/bash
#tar zcf /tmp/etc-`date +%F`.tar.gz /etc/
date
ip a s eth0|awk -F"[/ ]+" 'NR==3{print $3}'
[root@oldboyedu59 ~]# sh  /server/scripts/bak-etc.sh
Sun Apr 28 15:28:05 CST 2019
10.0.0.200
[root@oldboyedu59 ~]# sh -x /server/scripts/bak-etc.sh
+ date
Sun Apr 28 15:28:14 CST 2019
+ ip a s eth0
+ awk '-F[/ ]+' 'NR==3{print $3}'
10.0.0.200
[root@oldboyedu59 ~]# crontab -e
#bak-etc  by  ylz  at 2019-4-28
#* * * * *  sh /server/scripts/bak-etc.sh  >>/tmp/etc.log   2>&1
* * * * *   sh  /server/scripts/bak-etc.sh  >>/tmp/ip.log   2>&1
crontab: installing new crontab
[root@oldboyedu59 ~]# crontab -l 
#bak-etc  by  ylz  at 2019-4-28
#* * * * *  sh /server/scripts/bak-etc.sh  >>/tmp/etc.log   2>&1
* * * * *   sh  /server/scripts/bak-etc.sh  >>/tmp/ip.log   2>&1
[root@oldboyedu59 ~]# tail -f /var/log/cron
Apr 28 15:31:01 oldboyedu59 CROND[8389]: (root) CMD (sh  /server/scripts/bak-etc.sh  >>/tmp/ip.log   2>&1)
Apr 28 15:32:01 oldboyedu59 CROND[8401]: (root) CMD (sh  /server/scripts/bak-etc.sh  >>/tmp/ip.log   2>&1)
[root@oldboyedu59 ~]# cat /tmp/ip.log 
Sun Apr 28 15:31:01 CST 2019
/server/scripts/bak-etc.sh: line 4: ip: command not found
[root@oldboyedu59 ~]# which ip date
/usr/sbin/ip
/usr/bin/date

(2)修改错误:

[root@oldboyedu59 ~]# vim /server/scripts/bak-etc.sh
#!/bin/bash
#tar zcf /tmp/etc-`date +%F`.tar.gz /etc/
source  /etc/profile
date
ip a s eth0|awk -F"[/ ]+" 'NR==3{print $3}'                  
[root@oldboyedu59 ~]# cat /tmp/ip.log 
Sun Apr 28 15:37:02 CST 2019
10.0.0.200
Sun Apr 28 15:38:01 CST 2019
10.0.0.200
[root@oldboyedu59 ~]# tail -f /var/log/cron
Apr 28 15:38:01 oldboyedu59 CROND[8459]: (root) CMD (sh  /server/scripts/bak-etc.sh  >>/tmp/ip.log   2>&1)
Apr 28 15:39:01 oldboyedu59 CROND[8484]: (root) CMD (sh  /server/scripts/bak-etc.sh  >>/tmp/ip.log   2>&1)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容