2019-03-25 課堂筆記

定時(shí)任務(wù)要領(lǐng):

          • /bin/sh /server/scripts/bak.sh &>/dev/null
            如何調(diào)試定時(shí)任務(wù)
            1丁溅、查看錯(cuò)誤日志
            /var/log/cron
            最小化排除

/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í)間往前調(diào)
5、通過(guò)腳本日志輸出調(diào)試定時(shí)任務(wù)
定時(shí)任務(wù)輸出

          • /bin/sh /server/scripts/bak.sh &>/tmp/bak.log
            腳本輸出
            tar zcvf oldboy.tar.gz ./date >/tmp/tar.log
            注意:有時(shí)候程序只能執(zhí)行一次毯炮。一定要在測(cè)試環(huán)境測(cè)試好份殿,直接復(fù)制到正式

代碼發(fā)布流程
辦公室測(cè)試環(huán)境===> IDC機(jī)房測(cè)試環(huán)境===>IDC機(jī)房正式環(huán)境

防止在正式環(huán)境發(fā)生錯(cuò)誤,從而影響用戶體驗(yàn)枝秤,業(yè)務(wù)穩(wěn)定

No space left on device常見企業(yè)故障案列
磁盤滿了報(bào)錯(cuò)醋拧,原因往往是inode被沾滿
因?yàn)槎〞r(shí)任務(wù)沒有加&>/dev/null, 定時(shí)執(zhí)行任務(wù)的時(shí)候會(huì)把輸出給系統(tǒng)root發(fā)郵件
郵件服務(wù)器postfix默認(rèn)不開,這些給系統(tǒng)發(fā)的郵件就會(huì)堆在臨時(shí)文件
/var/spool/clientmqueue/
/var/spool/postfix/maildrop/

程序通過(guò)手動(dòng)可以執(zhí)行,放定時(shí)任務(wù)里就不可以執(zhí)行
export變量生產(chǎn)案例

定時(shí)任務(wù)在執(zhí)行腳本的時(shí)候丹壕,多數(shù)情況沒辦法加載環(huán)境變量庆械,特別是(/etc/profile)
登錄后怎么操作都對(duì),但是就是放到定時(shí)任務(wù)不行雀费。

命令行:bash登錄方式
1干奢、手工登錄后,加載所有環(huán)境變量
2盏袄、定時(shí)任務(wù)執(zhí)行腳本屬于非登錄狀態(tài)忿峻。
實(shí)踐檢驗(yàn),定時(shí)任務(wù)能否自動(dòng)加載/etc/bashrc和/etc/profile文件辕羽。

所有運(yùn)維都會(huì)把變量放到此文件/etc/profile,把這個(gè)文件里的變量執(zhí)行
在執(zhí)行腳本中 重新定義逛尚。

具體為crond執(zhí)行Shell時(shí)只能識(shí)別為數(shù)不多的系統(tǒng)環(huán)境變量,普通環(huán)境變量一般是無(wú)法識(shí)別的刁愿,如果在編寫的腳本中需要使用變量绰寞,最好使用export重新聲明下該變量,以確保腳本正確執(zhí)行铣口。以后要將其作為一個(gè)開發(fā)基本規(guī)范寫上滤钱。

1)在每周6的凌晨3:15執(zhí)行/home/shell/collect.pl,并將標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出到/dev/null設(shè)備脑题,請(qǐng)寫出crontab中的語(yǔ)句件缸。

oldboy...

15 03 * * 6 /bin/perl /home/shell/collect.pl >/dev/null 2>&1

2)crontab在11月份內(nèi),每天的早上6點(diǎn)到12點(diǎn)中叔遂,每隔2小時(shí)執(zhí)行一次/usr/bin/httpd.sh他炊,
怎么實(shí)現(xiàn) ?
00 6-12/2 * 11 * /bin/sh /usr/bin/httpd.sh &>/dev/null

用戶管理

用戶相關(guān)文件
/etc/passwd 用戶所在文件
/etc/shadow 密碼所在文件
useradd oldboy 添加用戶 實(shí)際上是修改上述倆文件
passwd oldboy 改密碼實(shí)際上就是修改密碼所在文件

用戶組相關(guān)文件:
/etc/group 用戶組所在文件
/etc/gshadow 用戶密碼所在文件(廢棄狀態(tài))
useradd oldboy 添加用戶 實(shí)際上是修改上述倆文件
groupadd sa 添加用戶組就是修改上述倆文件

md5sum 給文件設(shè)置指紋

[root@oldboyedu ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadow
2fe9f002726ed0a138d67cd44722f1a6 /etc/passwd
c2ca41415dca17f1a3dc3c286a9b9bff /etc/shadow
c475144a13d87a400b5e16fe6bd70baf /etc/group
659ef4f533df0fa7e457f87755fb1c27 /etc/gshadow

[root@oldboyedu ~]# useradd bingbing

文件發(fā)生變化
[root@oldboyedu ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadow
39d60eff90ecd0326fe59e6464b464ad /etc/passwd
0aa8d3b157f042876ec0190a2808a377 /etc/shadow
cee8bc6e85f9dfb9dc0a04e452e834f4 /etc/group
cdfd26351f409ee32fca53a22ad15912 /etc/gshadow

[root@oldboyedu ~]# grep bingbing /etc/passwd /etc/shadow /etc/group /etc/gshadow
/etc/passwd:bingbing:x:1004:1006::/home/bingbing:/bin/bash
/etc/shadow:bingbing:!!:17980:0:99999:7:::
/etc/group:bingbing:x:1006:
/etc/gshadow:bingbing:!::

/etc/passwd文件
Linux是命令行管理已艰,平時(shí)輸入Is痊末,cp,誰(shuí)識(shí)別哩掺,幫我們把我們想要的輸出
這個(gè)工具就是bash(命令行解釋器)

用戶登錄:輸入命令凿叠,希望哪個(gè)解釋器解釋(結(jié)尾列決定)
/etc/passwd:bingbing:x:1004:1006::/home/bingbing:/bin/bash

CentOS7默認(rèn)解釋器是bash

/etc/passwd里的解釋器
[root@oldboyedu ~]# awk -F ":" '{print $NF}' /etc/passwd|sort|uniq -c
6 /bin/bash
1 /bin/sync
1 /sbin/halt
18 /sbin/nologin
1 /sbin/shutdown
[root@oldboyedu ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

bash是sh的擴(kuò)展,sh是bash的軟連接嚼吞。

[root@oldboyedu ~]# ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Mar 4 11:15 /bin/sh -> bash

/bin/bash /server/scripts/bak.sh

[root@oldboyedu ~]# tail -1 /etc/shadow
bingbing 用戶
:!! 密碼
:17980 最近更改密碼的時(shí)間
:0 禁止修改密碼的天數(shù)
:99999 用戶必須更改口令的天數(shù)
:7 警告更改密碼的期限
: 在用戶密碼過(guò)期之后到禁用賬戶的天數(shù)
: 從1970年1月1日起盒件,到用戶被禁用的天數(shù)
: 保留

/etc/group
/etc/gshadow

[root@oldboyedu ~]# useradd gongli -u 888 -s /sbin/nologin -M

[root@oldboyedu ~]# tail -1 /etc/passwd
gongli:x:888:1007::/home/gongli:/sbin/nologin

bingbing:x:1004:1006::/home/bingbing:/bin/bash

[root@oldboyedu ~]# useradd gongli1 -c "beautify woman" -d /tmp -e '2020/10/20'
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

[root@oldboyedu ~]# tail -1 /etc/passwd
gongli1:x:1005:1008:beautify woman:/tmp:/bin/bash

[root@oldboyedu ~]# chage -l gongli1
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : Oct 20, 2020 =================
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

給開發(fā)等人員添加用戶,盡量給截止時(shí)間誊薄。

[root@oldboyedu ~]# useradd gongli2 -g incahome
[root@oldboyedu ~]# id gongli2
uid=1006(gongli2) gid=1004(incahome) groups=1004(incahome)

/etc/default/useradd文件 useradd命令的配置文件
默認(rèn)shell就是/bin/bash
為什么默認(rèn)的家目錄在home下
為什么默認(rèn)的家目錄/home/用戶名下面有很多隱藏文件,從哪來(lái)的锰茉。

就是/etc/default/useradd文件配置的呢蔫。

[root@oldboyedu ~]# 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文件。
[root@oldboyedu ~]# useradd -D -s /bin/sh
You have new mail in /var/spool/mail/root
[root@oldboyedu ~]# cat /etc/default/useradd

useradd defaults file

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

[root@oldboyedu ~]# useradd chenglong1
You have new mail in /var/spool/mail/root
[root@oldboyedu ~]# tail -1 /etc/passwd
chenglong1:x:1007:1009::/home/chenglong1:/bin/sh
[root@oldboyedu ~]# chage -l chenglong1
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : Oct 21, 2020
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

/etc/skel目錄,創(chuàng)建用戶默認(rèn)就會(huì)把此目錄下的文件拷貝到/home/用戶名下片吊。
/etc/skel 為每個(gè)用戶提供用戶環(huán)境變量的目錄绽昏。
[root@oldboyedu ~]# ls /etc/skel -A
.bash_logout .bash_profile .bashrc
===================================================
.bash_logout .bash_profile .bashrc 用戶環(huán)境變量

登錄系統(tǒng)后,命令行出現(xiàn)如下提示:為什么俏脊?
[root@oldboyedu /home/chenglong1]# su - chenglong1
-sh-4.2-sh-4.2
解答:用戶的環(huán)境變量缺失導(dǎo)致的全谤。
執(zhí)行如下命令解決
-sh-4.2cp /etc/skel/.bash* . -sh-4.2 source ./.bash_profile ./.bashrc
[chenglong1@oldboyedu ~][chenglong1@oldboyedu ~]

-sh-4.2export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\'
[chenglong1@oldboyedu ~]$

添加用戶要用的文件
/etc/login.defs 了解

添加用戶要用的文件
/etc/login.defs /etc/skel /etc/default/useradd

編輯/etc/passwd,通過(guò)注釋來(lái)刪除。

chenglong1:x:1007:1009::/home/chenglong1:/bin/sh

"/etc/passwd" 30L, 1362C written
[root@oldboyedu ~]# su - chenglong1
su: user chenglong1 does not exist

[root@oldboyedu ~]# useradd -u 9999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng
[root@oldboyedu ~]# tail -1 /etc/passwd
zongsheng:x:9999:1003:老男孩:/home/zongsheng:/bin/sh
[root@oldboyedu ~]# id zongsheng
uid=9999(zongsheng) gid=1003(sa) groups=1003(sa)
[root@oldboyedu ~]# chage -l zongsheng
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : May 01, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

usermod -u 8888 -s /bin/bash -m /home/zongsheng -g incahome -c "男孩" -e "2020/5/1"
[root@oldboyedu ~]# usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng
[root@oldboyedu ~]# chage -l zongsheng
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : May 01, 2020
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
[root@oldboyedu ~]# id zongsheng
uid=8888(zongsheng) gid=1004(incahome) groups=1004(incahome)
[root@oldboyedu ~]# tail -1 /etc/passwd
zongsheng:x:8888:1004:男孩:/home/zongsheng:/bin/bash
You have new mail in /var/spool/mail/root

usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng
usermod -m /home/zongsheng zongsheng

不交互設(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.

[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<user.log
方法2:
[root@oldboyedu ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}'|chpasswd

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末爷贫,一起剝皮案震驚了整個(gè)濱河市认然,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漫萄,老刑警劉巖卷员,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異腾务,居然都是意外死亡毕骡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門岩瘦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)未巫,“玉大人跌造,你說(shuō)我怎么就攤上這事兰英。” “怎么了蕉世?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵箫津,是天一觀的道長(zhǎng)狭姨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)苏遥,這世上最難降的妖魔是什么饼拍? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮田炭,結(jié)果婚禮上师抄,老公的妹妹穿的比我還像新娘。我一直安慰自己教硫,他們只是感情好叨吮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瞬矩,像睡著了一般茶鉴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上景用,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天涵叮,我揣著相機(jī)與錄音,去河邊找鬼。 笑死割粮,一個(gè)胖子當(dāng)著我的面吹牛盾碗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舀瓢,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼廷雅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了京髓?” 一聲冷哼從身側(cè)響起航缀,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朵锣,沒想到半個(gè)月后谬盐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诚些,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年飞傀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诬烹。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡砸烦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绞吁,到底是詐尸還是另有隱情幢痘,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布家破,位于F島的核電站颜说,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏汰聋。R本人自食惡果不足惜门粪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烹困。 院中可真熱鬧玄妈,春花似錦、人聲如沸髓梅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)枯饿。三九已至酝锅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奢方,已是汗流浹背搔扁。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工擒权, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人阁谆。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像愉老,于是被迫代替她去往敵國(guó)和親场绿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容