[if !vml]
[endif]
[if !vml]
[endif]
Sgcal
3w1h??????? 框架
Linux系統(tǒng)定時(shí)任務(wù)Cron(d)服務(wù)應(yīng)用實(shí)踐
系統(tǒng)定時(shí)任務(wù):
[if !supportLists]1、 [endif]什么是定時(shí)任務(wù)?
周期性得執(zhí)行任務(wù)計(jì)劃得軟件有额,Linux定時(shí)任務(wù)得常用軟件crond犯眠。
[if !supportLists]2奖亚、 [endif]使用定時(shí)任務(wù)軟件示姿,可以每天,每小時(shí)按你得需求重復(fù)得執(zhí)行一項(xiàng)工作车份。
例如:備份??? 都是0點(diǎn)以后驻子,2點(diǎn)爬起來備份灿意,4點(diǎn)以后睡覺。
需要寫一個(gè)程序?qū)崿F(xiàn)自動(dòng)備份崇呵,然后讓定時(shí)軟件幫助你執(zhí)行缤剧。
鬧鐘。域慷。荒辕。汗销。。抵窒〕谡耄可以追求女朋友。李皇。削茁。
[if !supportLists]3、 [endif]怎樣用掉房。
[if !supportLists](1)????[endif]用戶定時(shí)任務(wù)計(jì)劃
[if !vml]
[endif]
要想配置定時(shí)任務(wù)付材,首先啟動(dòng)cron服務(wù)。
[if !vml]
[endif]
開啟自啟動(dòng):
[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 命令是用來設(shè)置定時(shí)任務(wù)規(guī)則得配置命令
定時(shí)任務(wù)內(nèi)容存放得位置/var/spool/cron/
以當(dāng)前用戶明作為文件名
-l????? 查看已經(jīng)設(shè)置得定時(shí)任務(wù)
-e???? edit編輯定時(shí)任務(wù)
-u???? 查看特定用戶下得定時(shí)任務(wù)
Crontab –l?==cat? /var/spool/cron/root
Crontab –e?==vim? /var/spool/cron/root
編寫定時(shí)任務(wù)得語法:
# 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)
第二列:時(shí)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
第六列:要執(zhí)行得任務(wù)命令程序
特殊符號(hào):
*表示得每或每一天得意思
00 23 * * * cmd
-連續(xù)分隔符 1-10
00 8-23 * * * cmd
圃阳,列舉??? 1,2璧帝,3捍岳,4,8睬隶,
[if !supportLists]00???[endif]1锣夹,2,3苏潜,4银萍,8,* * * cmd
/n? n是數(shù)字恤左。
*/10 * * * * cmd
[if !vml]
[endif]
[if !supportLists](2)????[endif]系統(tǒng)定時(shí)任務(wù)計(jì)劃
[if !supportLists]1.?????[endif]不用管理員干預(yù)贴唇,系統(tǒng)自動(dòng)執(zhí)行。
[if !supportLists]2.?????[endif]也可以利用系統(tǒng)任務(wù)為管理員服務(wù)飞袋。
[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?*?*?*
最強(qiáng)大腦
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去老男孩教育上課戳气,這是脫產(chǎn)班的上課頻率。
30 9 * * */0 cmd
30 8?* * * cmd
實(shí)踐:
1
巧鸭、每分鐘追加一次oldboy字符串到/tmp/oldboy.log里
[if !vml]
[endif]
[if !vml]
[endif]
[if !supportLists]1瓶您、 [endif]命令行執(zhí)行
[if !supportLists]2、 [endif]盡量用腳本文件實(shí)現(xiàn)
[if !vml]
[endif]
范例13-3:每天晚上0點(diǎn)纲仍,把站點(diǎn)目錄/var/www/html下的內(nèi)容打包備份到/data目錄下呀袱,并且要求每次生成不同的備份包名。
至少分三步:
1.
命令行稿成功準(zhǔn)備工作:
[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
郑叠、編寫定時(shí)任務(wù)
[root@oldboyedu?~]#?crontab?-l
00?00?*?*?*?tar?zcvf?/data/html_$(date?+%F).tar.gz?/var/www/html/
錯(cuò)了夜赵,不執(zhí)行。锻拘。油吭。击蹲。看報(bào)錯(cuò)日志婉宰。歌豺。。錯(cuò)誤日志定時(shí)任務(wù)沒有執(zhí)行心包,出錯(cuò)了日志在哪里类咧?出錯(cuò)日志/var/log/cron
Mar?22?12:03:01?oldboyedu?CROND[18770]:?(root)?CMD?(tar?zcvf?/data/html_$(date?+)
定時(shí)任務(wù)對(duì)%的要求,百分號(hào)要轉(zhuǎn)義蟹腾。\%
正確答案:
[root@oldboyedu?~]#?crontab?-l
00?00?*?*?*?tar?zcvf?/data/html_$(date?+\%F).tar.gz?/var/www/html/
優(yōu)秀的答案(企業(yè)里):
1.
命令行執(zhí)行
cd?/var/www
tar?zcf?/data/html_$(date?+%F).tar.gz?./html
2.
盡量用腳本文件實(shí)現(xiàn)
#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
命令行執(zhí)行:
/bin/sh?/server/scripts/[if !vml]
[endif]bak.sh
3
痕惋、編輯定時(shí)任務(wù)
#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
、檢查正式結(jié)果
[root@oldboyedu?/server/scripts]#?ls?-l?/data
運(yùn)維規(guī)范:
腳本位置:/server/scripts
軟件位置:/server/tools
編譯位置:/application/軟件名字-版本娃殖,然后要軟連接值戳。
[if !vml]
[endif]
[if !vml]
[endif]
[if !vml]
[endif]
物??人???時(shí)間???
考試:考到定時(shí)任務(wù)。
下周
用戶管理1天
磁盤管理:2-3天
網(wǎng)絡(luò)基礎(chǔ):4天 2天基礎(chǔ)??2天實(shí)踐
Shell基礎(chǔ):2天
三劍客深入1-2天
進(jìn)程管理命令炉爆、安裝命令1天
第一階段結(jié)束:
第二階段堕虹,搭建集群。
mso-far