day18課堂筆記
回顧定時任務(wù)要領(lǐng):
* * * * *? /bin/sh /server/scripts/bak.sh &>/dev/null
工作中如何調(diào)試定時任務(wù)?
1亏栈、查看錯誤日志? ?*****? /var/log/cron
學(xué)會最小化排除:
>/vrar/log/cron? ? 先清空
然后再測試和觀察澜公。
2踊赠、增加執(zhí)行任務(wù)頻率調(diào)試任務(wù)*****
? ? ? ?把頻率調(diào)快蚂四。
3款票、把定時任務(wù)執(zhí)行時間比當(dāng)前時間拖后五分鐘延曙。
例如:00? ?03? ? 執(zhí)行芹务,假設(shè)當(dāng)前5:00 蝉绷,咱先把時間調(diào)到05? 05,有個額度分鐘的提前量枣抱。
4熔吗、調(diào)整系統(tǒng)時間(測試環(huán)境還湊合)
例如:00? ?03,把系統(tǒng)時間調(diào)到2:55.
5佳晶、通過腳本日志輸出調(diào)試定時任務(wù)
定時任務(wù)輸出
* * * * *? /bin/sh /server/scripts/bak.sh &>/tmp/bak.log
腳本輸出:tar zcvf oldboy.tar.gz? ? ./data>tmp/tar.log
注意點:有時候程序只能執(zhí)行一次桅狠。一定要在測試環(huán)境測試號,然后直接復(fù)制到正式轿秧。
代碼發(fā)布流程:
辦公室測試環(huán)境=====》IDC機(jī)房測試環(huán)境====》IDC機(jī)房正式環(huán)境
防止在正式環(huán)境發(fā)生錯誤中跌,從而影響用戶體驗,業(yè)務(wù)穩(wěn)定菇篡。
No space left? ?on? ?device? 常見企業(yè)故障案例
磁盤滿的報錯漩符,原因往往是inode被占滿了。
df? -i
因為定時任務(wù)沒有加&>/dev/null,定時任務(wù)執(zhí)行的時候把輸出給系統(tǒng)root發(fā)郵件驱还。
郵件服務(wù)器postfix默認(rèn)不開嗜暴,這些給系統(tǒng)發(fā)的郵件就會堆在臨時目錄(大量小文件)。
/var/spool/clinentmqueue/? ? ? 6
/var/spool/postfix/maildrop/? ? ?7
程序通過手動可以執(zhí)行议蟆,放定時任務(wù)不執(zhí)行crond? export? 變量生產(chǎn)案例
定時任務(wù)在執(zhí)行腳本的時候闷沥,多數(shù)情況沒辦法加載環(huán)境變量,特別是/etc/profile咐容、
登錄后怎么操作都對舆逃,但是就是放到定時任務(wù)不行。
本質(zhì)原因就是命令行bash登錄方式
1戳粒、手工登錄后路狮,會加載所有環(huán)境變量(~/.bash_profile,~.bash_rc,/etc/profile,/etc/bashrc)
2、定時任務(wù)執(zhí)行腳本屬于非登錄狀態(tài)蔚约。(/etc/bashrc)
不確定览祖,用實踐檢驗。
所有運(yùn)維都會把變量放到次文件/etc/profile炊琉,把這個文件的變量定義,
在執(zhí)行的腳本,重新定義苔咪。
用戶管理知識:
用戶相關(guān)文件:
/etc/passwd? ? ?用戶所在文件
/etc/shadow? ? ? ? 密碼所在文件
useradd oldboy? ? 添加用戶實際上就是修改上述兩個文件锰悼。
passwd? ?oldboy? ? ?改密碼實際上就是修改密碼文件。
用戶組相關(guān)文件:
/etc/group? ? ?用戶組所在文件
/etc/gshadow? ? 用戶組密碼所在文件(廢棄狀態(tài))
?groupadd? ?oldboy? ? 添加用戶實際上也會修改上述兩個文件(因為要創(chuàng)建相同的用戶組)
groupadd? sa? ? 添加用戶組就是修改上述兩個文件
/etc/passwd
Linux是命令行管理团赏,平時輸入ls,cp,誰識別箕般,幫我們把想要的輸出呢?
這個工具就是bash(命令行解釋器)舔清。 * 丝里?? [abc]
CentOS7默認(rèn)的解釋器就是bash。
/etc/passwd里的解釋器
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
oldboy? 用戶
:!!? ? ? ? ?密碼
:17970? 最近更改密碼的時間
:0? ? 禁止修改密碼的天數(shù)
:99999? ? 用戶必須更改口令的天數(shù)
:7? 警告更改密碼的期限
:? ? 不活動時間
:? ? ?失效時間
:? ? 標(biāo)志
/etc/group
/etc/gashdow
[root@mdl~]# useradd gongli -u 888 -s /sbin/nologin -M
[root@mdl~]# tail -l /etc/passwd
gongli:x:888:1005::/home/gongli:/sbin/nologin
給開發(fā)等人員添加用戶体谒,盡量給截止時間杯聚。
/etc/default/useradd文件? ?useradd命令的配置文件
為什么默認(rèn)的shell就是/etc/bash?
為什么默認(rèn)的家目錄就是/home下
為什么默認(rèn)的家目錄/home/用戶名下面有很多隱藏文件抒痒,從哪來的幌绍?
就是/etc/default/useradd/文件配置的。
[root@mdl~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
修改方法:
useradd -D? ?-s? /bin/sh? ? ? ? ?相當(dāng)于vim編輯/etc/default/useradd文件故响。
/etc/skel? ?目錄傀广,創(chuàng)建用戶默認(rèn)就會把此目錄的文件拷貝到/home/用戶名下。
/etc/skel? ?是為每個用戶提供用戶環(huán)境變量的目錄彩届。
[root@mdl~]# ls /etc/skel -A
.bash_logout? .bash_profile? .bashrc
.bash_logout? .bash_profile? .bashrc? ?用戶換機(jī)變量
登錄系統(tǒng)后伪冰,命令行出現(xiàn)如下提示:為什么?
[root@oldboyedu /home/chenglong1]# su - chenglong1
-sh-4.2$
-sh-4.2$
解答:用戶的環(huán)境變量缺失導(dǎo)致的樟蠕。
執(zhí)行如下命令解決
-sh-4.2$ cp /etc/skel/.bash* .
-sh-4.2$ source ./.bash_profile ./.bashrc
[chenglong1@oldboyedu ~]$
[chenglong1@oldboyedu ~]$
添加用戶要用的文件
/etc/login.defs? ? ? /etc/skel? ? /etc/default/useradd
不交互設(shè)置密碼:
方法1:
[root@oldboyedu ~]# echo 123456|passwd --stdin oldgirl
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.
方法2:
[root@oldboyedu ~]# echo 123456 >pass
[root@oldboyedu ~]# cat pass
123456
[root@oldboyedu ~]# passwd --stdin oldgirl <pass
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.
企業(yè)場景下用戶及秘密管理思路
1贮聂、用戶密碼要足夠復(fù)雜,最好8位以上字母坯墨,數(shù)字寂汇,特殊字符的組合
2、較大的企業(yè)用戶和密碼可以統(tǒng)一管理
3捣染、動態(tài)密碼
chpasswd對密碼文件的要求是上述user.log
chpasswd<user.log
作業(yè)骄瓣;批量創(chuàng)建10個用戶,oldboy01-oldboy10? ,請設(shè)置和用戶名相同的密碼耍攘。
下節(jié)命令:
chage和passwd對比
groupadd
groupdel
id? ?whoami? ? ?w? ? last? ?lastlog
su? ?sudo? ? visudo
磁盤基礎(chǔ)榕栏,