日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.4- 定时任务总结之九句箴言

發(fā)布時間:2023/11/29 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.4- 定时任务总结之九句箴言 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.4

定時任務(wù)之九句箴言

九句箴言---- ?不會九句箴言別做運(yùn)維

1.定時任務(wù)規(guī)則之前加注釋

2.使用腳本代替命令行制定定時任務(wù)

3.定時任務(wù)中date命令%的特殊含義

定時任務(wù)中,%表示回車??-----可以使用\轉(zhuǎn)義

4.運(yùn)行腳本一定要用/bin/shsh

腳本不必須有x權(quán)限

5.定時任務(wù)中-命令或腳本的輸出結(jié)果(正確或錯誤)

定向到黑洞(>/dev/null ?2>&1)

或追加到文件中(>>/tmp/oldboy.txt ?2>&1)

6.避免不必要的程序及命令輸出

tar zcvf ?×××××

tar ??zcf ?√√√√√

7.打包壓縮使用相對路徑

8.定時任務(wù)腳本中的程序文件,盡量使用絕對路徑

用戶的定時任務(wù)中--------默認(rèn)存放在當(dāng)前用戶的家目錄

系統(tǒng)的定時任務(wù)-----------存放在根目錄下

9.系統(tǒng)與命令位置有關(guān)的環(huán)境變量問題

linux定時任務(wù)生產(chǎn)java服務(wù)無法執(zhí)行問題群友案例

定時任務(wù)運(yùn)行腳本的時候?PATH只認(rèn)識很少的幾個路徑?/usr/bin??/bin

解決: ?方法1.使用命令的絕對路徑

???????方法2.PATH在腳本的開頭重新定義一下

?????????Java方面使用絕對路徑麻煩,用此方法(Tomcat)


第1章?箴言5:定制任務(wù)執(zhí)行的結(jié)果定向到文件或黑洞中

追加到文件

#backup etc/services to /tmp by oldboy

#00 ?*/2 ?* ?* ?* ?/bin/sh ?/server/scripts/bak-services.sh >>/tmp/back-services.log ?2>&1

追加到空洞 ???????????????????????????????????????????????????????????????????正確的或錯誤的

#backup /var/www/html to back-html.sh

* ?* ?* ?* ?* ???/bin/sh ??/server/scripts/bak-html.sh ??>>/dev/null 2>&1

1.1?企業(yè)案例:定時任務(wù)中 命令或腳本的結(jié)果 沒有定向到黑洞或文件中

1.郵件的軟件(Postfix)沒有開啟

inode滿了--------大量小文件堆積在/var/spool/postfix/maildrop/

2.郵件軟件開啟?-------不會導(dǎo)致inode滿了

郵件文件很大----------you have new mail in /var/spool/mail/root

1.1.1?工作中postfix軟件不會運(yùn)行 ???

postfix ??開啟: ?郵件存放位置------/var/spool/main/root

?????????關(guān)閉: 郵件存放在臨時目錄----/var/spool/postfix/maildrop/

1.2?回顧:創(chuàng)建/刪除大量小文件

同時創(chuàng)建大量小文件 ???--千萬別直接ls ?????--ls \wc -l

[root@oldboy oldboy]# touch {1..450000}.txt

-bash: /bin/touch: Argument list too long

[root@oldboy oldboy]# echo {1..450000}.txt|xargs touch

同時刪除大量小文件 1.交給管道 加rm ??????????????????????????????????????????????????????????????????????????????????????????????????????

2.?還刪不了 ??-縮小范圍一點(diǎn)一點(diǎn)分類刪除

[root@oldboy oldboy]# #ls 1*.txt|xargs rm ??????????????方法一

[root@oldboy oldboy]# #ls 2*.txt|xargs rm

[root@oldboy oldboy]# ls *.txt|xargs -n數(shù)字 ?rm ????????方法二

?

3.或刪除目錄 ??--刪之前 記好目錄的權(quán)限和所有者

?

?

實(shí)例1-1?每天凌晨1點(diǎn)把/etc/目錄?打包備份/tmp目錄并且要求每天的備份名字不同。

###第1個里程碑-命令 ????????????cd到上級目錄 ?&& ?tar 相對路徑?????

[root@oldboyedu43-lnb /]#?cd / && ?tar zcf /tmp/etc-$(date +%F).tar.gz etc/

[root@oldboyedu43-lnb /]# ls -l /tmp/etc-2018-01-04.tar.gz

-rw-r--r-- 1 root root 9775655 Jan ?4 09:31 /tmp/etc-2018-01-04.tar.gz

第二個里程碑--命令放入腳本中

[root@oldboy scripts]# echo 'cd / ?&& tar zcf etc.$(date +%F).tar.gz etc' >>/server/scripts/etc_bak.sh

[root@oldboy scripts]# cat /server/scripts/etc_bak.sh

cd / ?&& tar zcf etc.$(date +%F).tar.gz etc

[root@oldboy /]# sh /server/scripts/etc_bak.sh

[root@oldboy /]# ls / |grep etc.2018*

etc.2018-01-04.tar.gz

第三個里程碑--書寫定時任務(wù)

[root@oldboy /]# vim /var/spool/cron/root

#backup etc and different time

* ?* ?* ?* ?* ?/bin/sh /server/scripts/etc_bak.sh ?>>/tmp/time.log ?2>&1

第四個里程碑--檢查

tail -f ?/var/log/cron ??????????????????????????????查看定時任務(wù)日志的實(shí)時更新

ll ?/ ?|grep etc.2018*???????????????????????????查看效果

第五個里程碑---確認(rèn)無誤,按規(guī)定創(chuàng)建定時任務(wù)

00 ?1 ?* ?* ?* ?/bin/sh /server/scripts/etc_bak.sh ?>>/tmp/time.log ?2>&1

第2章?箴言6盡量避免一些不必要輸出 ?

zcvf(不要)----zcf ?不要顯示過程

顯示過程,,

?

第3章?箴言8定時任務(wù)腳本中的程序文件,盡量使用絕對路徑

用戶的定時任務(wù)中--------默認(rèn)存放在當(dāng)前用戶的家目錄

系統(tǒng)的定時任務(wù)-----------存放在根目錄下

第4章?箴言9系統(tǒng)與命令位置有關(guān)的環(huán)境變量問題

linux定時任務(wù)生產(chǎn)java服務(wù)無法執(zhí)行問題群友案例

定時任務(wù)運(yùn)行腳本的時候?PATH只認(rèn)識很少的幾個路徑?/usr/bin??/bin

解決: ?方法1.使用命令的絕對路徑

???????方法2.PATH在腳本的開頭重新定義一下

?????????Java方面使用絕對路徑麻煩,用此方法(Tomcat)

4.1?每分鐘顯示當(dāng)系統(tǒng)的時間年--日和系統(tǒng)的ip地址,追加到?/tmp/ip.log?

第一個里程碑 ----在命令行中執(zhí)行命令

[root@oldboy oldboy]# date +%F && ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}'

2018-01-04

10.0.0.201

第二個里程碑-----把命令復(fù)制粘貼到腳本中 ????????--并執(zhí)行腳本測試

[root@oldboy oldboy]# sh /server/scripts/print-ip.sh

2018-01-04

10.0.0.201

第三個里程碑----制定定時任務(wù)------先每分鐘執(zhí)行一次,測試是否正確

crontab ?-e ?寫定時任務(wù)

crontab ?-l ?查看定時任務(wù)

#pritn ip and date ???????????????????????????????????????加上注釋,以后查看方便

* ?* ?* ?* ?* ?/bin/sh ?/server/scripts/print-ip.sh ?>>/tmp/ip.log ?2>&1 ?????追加到文件中

第四個里程碑----查看效果 ???????---看定時任務(wù)日志文件 ??????看效果

[root@oldboy ~]# cat /tmp/ip.log

/server/scripts/print-ip.sh: line 1: ifconfig: command not found ????報(bào)錯

2018-01-04

4.1.1?原因: 定時任務(wù)運(yùn)行腳本的時候?PATH只認(rèn)識很少的幾個路徑?/usr/bin??/bin?
??????ifconfig 命令 在/sbin

命令行--OK ???????腳本--OK ?????定時任務(wù)--NO

4.1.2?解決:方法1.腳本中使用命令的絕對路徑

date +%F && /sbin/ifconfig?eth0|awk -F "[ :]+" 'NR==2{print $4}'

?方法2.PATH在腳本的開頭重新定義一下
?export?PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@oldboy oldboy]# vim /server/scripts/print-ip.sh

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

date +%F && ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}'

[root@oldboy ~]# tail -f /tmp/ip.log

2018-01-04

10.0.0.201

?

了解:有時候必須使用方法二:tomcat

重啟resin的腳本(Java編寫)

使用export重新聲明PATH變量

?

總結(jié):

1.定時任務(wù)一些注意事項(xiàng)

??00 ?00 ?* ?* ?* ????????表示半夜12點(diǎn)/0點(diǎn) ???

??00 ?07 ?* ?* ?* ????????表示7點(diǎn)整

??00 ?23,00-07 * ?* ?* ????表示晚上23點(diǎn)一直到第二天早上7點(diǎn)

??創(chuàng)建定時任務(wù)一步一步來,多復(fù)制粘貼

??將定時任務(wù)的輸出結(jié)果重定向到文件/黑洞

?

2.故障排查

?查看日志 ?????????/var/log/cron ???

?檢查結(jié)果 ????????是否得到你想要的內(nèi)容

?改為每分鐘運(yùn)行 ??

?修改系統(tǒng)時間 ??--提前幾分鐘

?

?

3.定時任務(wù)流程:

相關(guān)命令在命令行執(zhí)行查看效果

無誤后復(fù)制粘貼進(jìn)腳本

/bin/sh 執(zhí)行腳本查看效果

確認(rèn)無誤后復(fù)制粘貼到定時任務(wù)配置文件(/)

時間先設(shè)置每分鐘執(zhí)行一次,查看定時任務(wù)的效果

確認(rèn)無誤后修改定時任務(wù)規(guī)定時間

?

?

?

擴(kuò)展:

運(yùn)行腳本顯示執(zhí)行過程

/bin/sh ?-x ???????一個+號表示執(zhí)行了一次 ?????直接顯示到屏幕上的,沒有+

[root@oldboy tmp]#?/bin/sh -x /server/scripts/print-ip.sh

+?export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

+?PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

+?date +%F

2018-01-04

+?awk -F '[ :]+' 'NR==2{print $4}'

+?ifconfig eth0

10.0.0.201

?

第四關(guān)練習(xí)(定時任務(wù)部分)

實(shí)例4-1?每隔2個小時將/etc/services文件打包備份到/tmp下。

命令:
[root@oldboy?~]#?cd?/?&&?tar?zcf?/tmp/services.$(date?+%F_%H).tar.gz?etc/services
[root@oldboy?/]#?ls?/tmp/services.$(date?+%F_%H).tar.gz
/tmp/services.2018-01-04_11.tar.gz
寫腳本
[root@oldboy?/]#?cat?/server/scripts/bak-services.sh
cd?/?&&?tar?zcf?/tmp/services.$(date?+%F_%H).tar.gz?etc/services
劃任務(wù)
[root@oldboy?/]#?crontab?-l?|tail?-3
#backup?etc/services?to?/tmp?by?oldboy
*??*??*??*??*??/bin/sh??/server/scripts/bak-services.sh?>>/tmp/back-services.log??2>&1
檢查
[root@oldboy?~]#?ll?/tmp?|grep?"services.2018*"
-rw-r--r--.?1?root?root?127314?Jan??4?11:39?services.2018-01-04_11.tar.gz

最后把定時任務(wù)設(shè)置成規(guī)定時間

[root@oldboy ~]# crontab -l |tail -2

#backup etc/services to /tmp by oldboy

00 ?*/2 ?* ?* ?* ?/bin/sh ?/server/scripts/bak-services.sh >>/tmp/back-services.log ?2>&1

?

?

實(shí)例4-2?.每天晚上 12 點(diǎn),打包站點(diǎn)目錄/var/www/html 備份到/data 目錄下(最好每次備份按時間生成不同的備份包)

命令:
[root@oldboy?/]#?cd?/?&&?tar?zcf?/data/bak-html$(date?+%F)?var/www/html
[root@oldboy?/]#?ls?/data?|grep?"bak-html$(date?+%F)"
bak-html2018-01-04
腳本:
[root@oldboy?/]#?cat?/server/scripts/bak-html.sh
cd?/?&&?tar?zcf?/data/bak-html$(date?+%F)?var/www/html
[root@oldboy?/]#?/bin/sh?/server/scripts/bak-html.sh
定時任務(wù):
[root@oldboy?/]#?crontab?-l?|tail?-3
#backup?/var/www/html?to?back-html.sh
*??*??*??*??*????/bin/sh???/server/scripts/bak-html.sh???>>/dev/null?2>&1
檢查:
[root@oldboy?/]#?ls?-l?/data?|grep?"bak-html$(date?+%F)"
-rw-r--r--.?1?root?root??????117?Jan??4?12:15?bak-html2018-01-04

檢查無誤修改定時計(jì)劃為規(guī)定時間

[root@oldboy?/]#?crontab?-l?|tail?-3
#backup?/var/www/html?to?back-html.sh?
00??00??*??*??*????/bin/sh???/server/scripts/bak-html.sh?????>>/dev/null?2>&1

?

文件

/etc/sysctl.conf ???系統(tǒng)的內(nèi)核配置文件

/etc/rc.local ??????開機(jī)自啟動的軟件,命令

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?


轉(zhuǎn)載于:https://blog.51cto.com/13517084/2067564

總結(jié)

以上是生活随笔為你收集整理的1.4- 定时任务总结之九句箴言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。