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ù)