2019-03-22 課堂筆記 定時(shí)任務(wù) 介紹、語(yǔ)法、實(shí)踐以及必會(huì)要領(lǐng)

sgid屬組

sgid的作用就是讓普通用戶可以在執(zhí)行某個(gè)設(shè)置了sgid位的命令時(shí),

擁有和命令對(duì)應(yīng)用戶組(一般為root用戶組)一樣的身份和權(quán)限(默認(rèn))。


locate 搜索內(nèi)容

locate搜索內(nèi)容,默認(rèn)從updatedb對(duì)應(yīng)的數(shù)據(jù)庫(kù)中查找

updatedb 更新locate查找內(nèi)容對(duì)應(yīng)的數(shù)據(jù)庫(kù)。


sgid基于目錄的作用:

讓不同的人創(chuàng)建文件屬于相同的用戶組,從而可以互相共享文件的權(quán)限。


3W1H 框架

Linux系統(tǒng)定時(shí)任務(wù):

1、什么是定時(shí)任務(wù)?

周期性的執(zhí)行任務(wù)計(jì)劃的軟件,Linux定時(shí)任務(wù)的常用軟件crond。


2、使用定時(shí)任務(wù)軟件,可以每天,每小時(shí)按你需求重復(fù)的執(zhí)行一項(xiàng)工作。

例如:備份 都是0點(diǎn)以后,2點(diǎn)爬起來(lái)備份,4點(diǎn)以后睡覺(jué)。

需要寫(xiě)一個(gè)程序?qū)崿F(xiàn)自動(dòng)備份,然后讓定時(shí)任務(wù)軟件幫你執(zhí)行。


3、怎樣用。


系統(tǒng)定時(shí)任務(wù)計(jì)劃

不用管理員干,系統(tǒng)自動(dòng)執(zhí)行。

也可以利用任務(wù)為管理員服務(wù)


用戶定時(shí)任務(wù)

linux系統(tǒng)中

cron是定時(shí)任務(wù)的軟件名

crond是服務(wù)進(jìn)程名,真正實(shí)現(xiàn)定時(shí)任務(wù)服務(wù)

crontab命令式用來(lái)設(shè)置定時(shí)任務(wù)規(guī)則的配置命令

要想配置定時(shí)任務(wù),首先啟動(dòng)crond服務(wù)

systemctl startcrond.service

systemctl stop crond.service

systemctl statuscrond.service

開(kāi)啟自啟動(dòng):

systemctl disablecrond.service

systemctl enablecrond.service

crontab命令是用來(lái)設(shè)置定時(shí)任務(wù)規(guī)則的配置命令

內(nèi)容存放哪里了。定時(shí)任務(wù)內(nèi)容存放的位置/var/spool/cron/

以當(dāng)前用戶名作為文件名


-l?列表查看已經(jīng)設(shè)置的定時(shí)任務(wù)

-e?編輯定時(shí)任務(wù)

-u? 查看特定用戶下的定時(shí)任務(wù)


編寫(xiě)定時(shí)任務(wù)的語(yǔ)法:

# Example of jobdefinition:

#.---------------- minute (0 - 59)

# |? .------------- hour (0 - 23)

# |? |?.---------- day of month (1 - 31)

# |? |?|? .------- month (1 - 12) ORjan,feb,mar,apr ...

# |? |?|? |? .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,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) ORsun,mon,tue,wed,thu,fri,sat

第六列:要執(zhí)行的任務(wù)命令或程序

定時(shí)任務(wù)的特殊符號(hào)

* 表示的?每 或每一的意思

-? 連續(xù)區(qū)間1-10

,? 列舉1,2,3,4,8

/n n是自然數(shù)字?jǐn)?shù)字,即“每隔n單位時(shí)間”,例如:每10分鐘執(zhí)行一次任務(wù)可以寫(xiě)成


實(shí)踐:

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


解答:大象放冰箱分三步

a.命令行執(zhí)行成功。

[root@oldboyedu~]# echo "oldboy">>/tmp/oldboy.log

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

oldboy

[root@oldboyedu~]# echo "oldboy">>/tmp/oldboy.log

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

oldboy

oldboy

b.配置定時(shí)任務(wù)crontab -e 編輯配置

?[root@oldboyedu ~]# crontab -l

#####

* * * * * echo"oldboy">>/tmp/oldboy.log

c.檢查

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


/dev/null 黑洞設(shè)備

MH370>/dev/null

&>/dev/null等價(jià)>/dev/null 2>&1

crontab -l

*/5 * * * * /usr/sbin/ntpdatentp1.aliyun.com &>/dev/null


1命令行執(zhí)行,盡量用腳本文件實(shí)現(xiàn)

2編輯定時(shí)任務(wù)

定時(shí)任務(wù)沒(méi)有執(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)義。\%

3檢查正式結(jié)果


13.5生產(chǎn)環(huán)境下的定時(shí)Cron書(shū)寫(xiě)要領(lǐng)

要領(lǐng)1:為定時(shí)任務(wù)規(guī)則加必要的注釋

要領(lǐng)2:所有的定時(shí)任務(wù)盡量都以腳本的形式執(zhí)行

要領(lǐng)3:在執(zhí)行的Shell腳本前加上/bin/sh

要領(lǐng)4:定時(shí)任務(wù)中命令或腳本的結(jié)尾加>/dev/null 2>&1

要領(lǐng)5:在指定用戶下執(zhí)行相關(guān)定時(shí)任務(wù)

要領(lǐng)6:生產(chǎn)任務(wù)計(jì)劃程序中不要隨意打印輸出信息,有輸出的想法去掉。

要領(lǐng)7:定時(shí)任務(wù)執(zhí)行的腳本要存放到規(guī)范路徑下

要領(lǐng)8:配置定時(shí)任務(wù)要規(guī)范操作過(guò)程,減少出錯(cuò)

要領(lǐng)9:定時(shí)任務(wù)腳本中程序命令及路徑盡量用全路徑

要領(lǐng)10:時(shí)間變量%號(hào)要用反斜線轉(zhuǎn)義(只有定時(shí)任務(wù)里是命令時(shí)需要)

要領(lǐng)11:若腳本中調(diào)用了系統(tǒng)環(huán)境變量,要重新定義

要領(lǐng)12:出錯(cuò)或無(wú)法執(zhí)行,就檢查/var/log/cron日志


命令筆記

定時(shí)任務(wù)的命令

crontab的參數(shù)

-l? 列表定時(shí)任務(wù)

-e? 編輯定時(shí)任務(wù)

-u? 查看特定用戶下的定時(shí)任務(wù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容