定時(shí)任務(wù)要領(lǐng):
* * * * *? /bin/sh /server/scripts/bak.sh &>dev/null
如何調(diào)試定時(shí)任務(wù)?
1查看錯(cuò)誤日志
?? /var/log/cron
?? 學(xué)會(huì)最小化排除:
?? 先清空,>/var/log/cron
然后再測(cè)試和觀察
2增加執(zhí)行任務(wù)頻率調(diào)試任務(wù)
?? 把頻率調(diào)快
3把定時(shí)任務(wù)執(zhí)行時(shí)間比當(dāng)前時(shí)間拖后5分鐘
4調(diào)整系統(tǒng)時(shí)間
5通過(guò)腳本日志調(diào)試定時(shí)任務(wù)
定時(shí)任務(wù)輸出
* * * * * /bin/sh /server/scripts/bak.sh&>/tmp/bak.log
?? 腳本輸出
tar zcvf oldboy.tar.gz./data >./tmp/tar.log
注意點(diǎn):有時(shí)候程序只能執(zhí)行一次箫老,一定要在測(cè)試環(huán)境測(cè)試好内斯,然后直接復(fù)制到正式
??常見(jiàn)企業(yè)故障案例
磁盤滿的報(bào)錯(cuò)
原因往往是inode被占滿了。因?yàn)槎〞r(shí)任務(wù)沒(méi)有加到&>dev/null涎跨,定時(shí)任務(wù)執(zhí)行的時(shí)候把輸出給系統(tǒng)root發(fā)郵件
程序可以手動(dòng)執(zhí)行选浑,放定時(shí)任務(wù)里不執(zhí)行?
定時(shí)任務(wù)在執(zhí)行的時(shí)候畜份,多數(shù)情況沒(méi)辦法加載環(huán)境變量,特別是/etc/profile角雷,登錄后怎么操作都對(duì)祸穷,但就是放到定時(shí)任務(wù)里不行。
?命令行:bash登錄方式
1手工登錄后勺三,加載所有環(huán)境變量
2定時(shí)任務(wù)執(zhí)行腳本屬于非登錄狀態(tài)
登錄系統(tǒng)后雷滚,命令行出現(xiàn)如下提示:為什么?
[root@oldboyedu/home/chenglong1]# su - chenglong1
-sh-4.2$
解答:
用戶的環(huán)境變量缺失導(dǎo)致的吗坚。
執(zhí)行如下命令解決添加用戶要用的文件
-sh-4.2$ cp/etc/skel/.bash* .
-sh-4.2$ source./.bash_profile ./.bashrc
export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\]\w\[\e[0m\]]\$'
用戶管理知識(shí)
用戶相關(guān)文件:
/etc/passwd 用戶所在文件
/etc/shadow 密碼所在文件
useradd oldboy 添加用戶實(shí)際上就是修改上述兩個(gè)文件
passwd oldboy 改密碼實(shí)際上就是密碼所在文件
用戶組相關(guān)文件:
/etc/group 用戶組所在文件
/etc/gshadow? 用戶組密碼所在文件(廢棄狀態(tài))
useradd oldboy 添加用戶實(shí)際上也會(huì)修改上述兩個(gè)文件(因?yàn)橐獎(jiǎng)?chuàng)建同名的用戶組)
groupadd sa 添加用戶組就是修改上述兩個(gè)文件
md5sum 給文件設(shè)置指紋(計(jì)算和檢查MD5數(shù)字信息)
用戶密碼所在文件
/etc/passwd文件:
linux是命令行管理祈远,平時(shí)輸入ls,cp商源,誰(shuí)識(shí)別幫我們把我們想要的要的輸出车份,這個(gè)工具就是bash(命令行解釋器)
用戶登錄:輸入命令,希望哪個(gè)解釋器解釋(結(jié)尾列決定)
/etc/passwd:bingbing:x:1004:1006::/home/bingbing:/bin/bash
centos7默認(rèn)解釋器就是bash
/etc/default/useradd文件 useradd命令的配置文件
bash是sh的擴(kuò)展牡彻,sh是bash的軟連接躬充。
[root@oldboyedu~]# tail -1 /etc/shadow
shadow文件各字段含義
bingbing? 用戶
:!!?????? 密碼
:17980??? 最近更改密碼的時(shí)間
:0??????? 禁止修改密碼的天數(shù)
:99999??? 用戶必須更改口令的天數(shù)
:7??????? 警告更改密碼的期限
:???????? ?在用戶密碼過(guò)期之后到禁用賬戶的天數(shù)
:???????? ?從1970年1月1日起,到用戶被禁用的天數(shù)
:???????? ?保留
/etc/default/useradd文件 useradd命令的配置文件
默認(rèn)shell就是/bin/bash
為什么默認(rèn)的家目錄在home下
為什么默認(rèn)的家目錄/home/用戶名下面有很多隱藏文件讨便,從哪來(lái)的充甚。
就是/etc/default/useradd文件配置的。
useradd -D -s /bin/sh
/etc/skel目錄霸褒,創(chuàng)建用戶默認(rèn)就會(huì)i把此目錄下的文件拷貝到/home/用戶名下
/etc/skel 為每個(gè)用戶提供環(huán)境變量的目錄
/etc/login.defs? /etc/skel??/etc/default/useradd
編輯/etc/passwd伴找,通過(guò)注釋來(lái)刪除。
不交互設(shè)置密碼:
方法1:
[root@oldboyedu~]# echo 123456|passwd --stdin oldgirl
Changing passwordfor user oldgirl.
passwd: allauthentication tokens updated successfully.
方法2:
[root@oldboyedu~]# echo 123456 >pass
[root@oldboyedu~]# cat pass
123456
[root@oldboyedu~]# passwd --stdin oldgirl
Changing passwordfor user oldgirl.
passwd: allauthentication tokens updated successfully.
[root@oldboyedu~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}'>user.log
[root@oldboyedu~]# cat user.log
gongli1:oldboy
gongli2:oldboy
chenglong1:oldboy
zongsheng:oldboy
chpasswd對(duì)密碼文件的要求是上述user.log
方法1:
[root@oldboyedu~]# chpasswd
方法2:
[root@oldboyedu~]# tail -4 /etc/passwd|awk -F ":" '{print$1":oldboy"}'|chpasswd
? ? ? ? ?命令筆記
useradd 添加普通用戶
? ? ? ?-u制定UID
? ? ? -s指定登錄的shell解釋器
???? ?-M不創(chuàng)建家目錄
???? ?-c添加用戶說(shuō)明
? ? ? -d 指定家目錄
? ? ?-e 設(shè)定登錄截止日期
groupadd 添加用戶組
passwd 給用戶修改密碼
--stdin從標(biāo)準(zhǔn)輸入接收密碼接受并設(shè)置
chpasswd 從標(biāo)準(zhǔn)輸入批量更改用戶密碼
usermod 修改用戶的組
參數(shù)同useradd大部分一樣
userdel 刪除用戶
-r 遞歸刪除用戶目錄及下內(nèi)容
備份或確認(rèn)家目錄下無(wú)有用內(nèi)容