1 systemctl
服務(wù)管理命令彤叉,從CentOS7以后可以使用
systemctl start COMMAND
systemctl stop COMMAND
systemctl restart COMMAND
systemctl reload COMMAND #重新加載配置,不是所有命令都支持
systemctl status COMMAND
systemctl enbale COMMAND #使服務(wù)開(kāi)機(jī)自啟動(dòng)村怪,CentOS6為chkconfig COMMAND on
systemctl disable COMMAND #使服務(wù)不開(kāi)機(jī)自啟動(dòng)秽浇,CentOS6為chkconfig COMMAND off
systemctl daemon-reload #修改了/usr/lib/systemd/system/下的服務(wù)腳本時(shí),需要重新加載
2 crontab
守護(hù)進(jìn)程是crond
甚负,需要開(kāi)啟此服務(wù)
2.1 系統(tǒng)定時(shí)任務(wù)
/etc/cron.daily柬焕、/etc/cron.hourly审残、/etc/cron.monthly、/etc/weekly
目錄存放了定時(shí)執(zhí)行的腳本
2.2 用戶(hù)定時(shí)任務(wù)
在/var/spool/cron/
存放了不同用戶(hù)的定時(shí)任務(wù)配置文件
crontab -e
進(jìn)行定時(shí)任務(wù)編輯击喂,語(yǔ)法如下:
# 注釋?zhuān)昧?xí)慣要添加注釋
* * * * * CMD
分 時(shí) 日 月 周
---------------------------------------------------------------
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sunday, or use names)
語(yǔ)法
- 如果時(shí)間位置為*维苔,則是每分/每小時(shí)/每日/每月/每周的意思
* 12 * * * CMD
表示每天的12點(diǎn)每分鐘
都執(zhí)行命令
0 12 * * * CMD
表示每天的12點(diǎn)都執(zhí)行命令
01 12 * * * CMD
表示每天的12點(diǎn)01分執(zhí)行命令 - 如果要表示每隔n分/n小時(shí)/n日/n月/n周,用*/n來(lái)表示
*/5 * * * * CMD
表示每隔5分鐘執(zhí)行命令 - 還可以用
-
,
來(lái)連接不同的時(shí)間
*/5 3-5,7,10 * * * CMD
表示每天的3-5懂昂、7介时、10點(diǎn)每隔5分鐘執(zhí)行命令
注意事項(xiàng)
- 定時(shí)任務(wù)要加注釋
- 直接寫(xiě)
date
命令的%要轉(zhuǎn)義,date +\%F\%T
凌彬,或者將date
命令部分放到腳本中 - 命令要用絕對(duì)路徑來(lái)寫(xiě)沸柔,因?yàn)槎〞r(shí)任務(wù)的
PATH
變量只有/usr/bin:/bin
- 執(zhí)行腳本要這樣寫(xiě)
/bin/bash 文件 &>/dev/null
- 命令的如果產(chǎn)生輸出信息,都會(huì)以郵件的形式發(fā)送到
/var/spool/mail/
下的用戶(hù)郵件文件中铲敛。為了避免文件無(wú)限增大褐澎,推薦配置&>/dev/null
- 星期不要和日期同時(shí)設(shè)置
crontab命令的參數(shù)
crontab -e #創(chuàng)建和修改計(jì)劃任務(wù)
crontab -l #查看當(dāng)前用戶(hù)的計(jì)劃任務(wù)
crontab -l -u USERNAME #查看其他用戶(hù)的計(jì)劃任務(wù)
crontab -r #刪除當(dāng)前用戶(hù)所有計(jì)劃任務(wù)
2.3 日志文件
/var/log/cron
2.4 黑名單文件
/etc/cron.deny
防止哪些用戶(hù)編寫(xiě)定時(shí)任務(wù),在其中寫(xiě)入用戶(hù)名即可
3 aide
配置文件一致性檢查工具伐蒋,可以檢查文件的元數(shù)據(jù)工三、內(nèi)容、哈希值先鱼、大小的任何修改
安裝aide
yum -y install aide
配置文件是/etc/aide.conf
俭正,文件中的FIPSR
、CONTENT_EX
焙畔、CONTENT
等變量代表校驗(yàn)?zāi)男┬畔⒌Ф粒缦碌倪@一部分表示了要校驗(yàn)?zāi)男┪募A,除默認(rèn)的一些文件夾外還可自行添加宏多。例如:/boot/
以CONTENT_EX
的方式來(lái)校驗(yàn)儿惫。
# Next decide what directories/files you want in the database. Aide
# uses a first match system. Put file specific instructions before generic
# matches. e.g. Put file matches before directories.
/boot/ CONTENT_EX
/bin/ CONTENT_EX
/sbin/ CONTENT_EX
/lib/ CONTENT_EX
/lib64/ CONTENT_EX
/opt/ CONTENT
進(jìn)行現(xiàn)有文件信息備份,生成的備份文件為/var/lib/aide/aide.db.new.gz
伸但。
aide --init
當(dāng)系統(tǒng)運(yùn)行一段時(shí)間需要進(jìn)行文件改動(dòng)校驗(yàn)時(shí)肾请,將/var/lib/aide/
下的aide.db.new.gz
更名為aide.db.gz
進(jìn)行檢查
aide --check
4 nohup和&
- &:后臺(tái)運(yùn)行,免疫ctrl+C退出更胖,但是用戶(hù)退出shell铛铁,進(jìn)程會(huì)關(guān)閉
- nohup:永久執(zhí)行,用戶(hù)退出shell函喉,進(jìn)程依舊執(zhí)行避归,但是ctrl+C會(huì)令進(jìn)程關(guān)閉
要讓進(jìn)程真正不受Ctrl+C和shell關(guān)閉的影響
nohup conmmand &
5 ps
進(jìn)程管理,一般用法是ps aux
管呵,如需查看指定的進(jìn)程可以ps aux | grep
來(lái)過(guò)濾出指定進(jìn)程
顯示信息共分11個(gè)部分梳毙,含義如下:
- 啟用進(jìn)程的用戶(hù)
- 進(jìn)程的PID
- 進(jìn)程占用的CPU
- 進(jìn)程占用的內(nèi)存
- 進(jìn)程使用的虛擬內(nèi)存
- 進(jìn)程使用的物理內(nèi)存
- 啟動(dòng)進(jìn)程的終端
- 進(jìn)程狀態(tài),S表示Sleep捐下,R表示Running账锹。
PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers
(header "STAT" or "S") will display to describe the state of a process:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped by job control signal
t stopped by debugger during the tracing
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
For BSD formats and when the stat keyword is used, additional characters may be displayed:
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group
- 進(jìn)程啟動(dòng)時(shí)間
- 進(jìn)程持續(xù)的時(shí)間
- 啟動(dòng)進(jìn)程的命令
5 kill 結(jié)束進(jìn)程
kill -9 PID 強(qiáng)制結(jié)束
6 Linux啟動(dòng)流程
(1)加電自檢:bios開(kāi)機(jī)檢查服務(wù)器硬件是否正常
(2)選擇啟動(dòng)設(shè)備:根據(jù)bios設(shè)置的優(yōu)先啟動(dòng)項(xiàng)(網(wǎng)卡萌业、硬盤(pán)、u盤(pán)奸柬、光驅(qū))boot
(3)MBR(GPT)引導(dǎo):讀取磁盤(pán)分區(qū)信息生年,內(nèi)核加載路徑
(4)grup菜單:選擇啟動(dòng)的內(nèi)核/進(jìn)行單用戶(hù)模式重置密碼
(5)加載系統(tǒng)內(nèi)核信息:可以更好的使用內(nèi)核控制硬件
(6)systemd:系統(tǒng)的第一個(gè)進(jìn)程運(yùn)行起來(lái)systemd,systemd控制后續(xù)服務(wù)啟動(dòng)時(shí)廓奕,是并行啟動(dòng)抱婉。(Centos6的init是串行)
(7)讀取啟動(dòng)文件,/usr/lib/systemd/system/default.target
桌粉,得知運(yùn)行級(jí)別
(8)讀取系統(tǒng)初始化文件蒸绩,/usr/lib/systemd/system/sysinit.target
(9)加載/etc/systemd/system/
目錄中的信息,根據(jù)target級(jí)別實(shí)現(xiàn)服務(wù)開(kāi)機(jī)自動(dòng)啟動(dòng)
(10)運(yùn)行mingetty進(jìn)程铃肯,顯示開(kāi)機(jī)登錄信息界面
7 Linux開(kāi)機(jī)自動(dòng)啟動(dòng)的服務(wù)
/etc/systemd/system/
文件夾下的文件記錄了不同target級(jí)別開(kāi)機(jī)自動(dòng)啟動(dòng)的服務(wù)
[root@nfs01 ~]$ ll /etc/systemd/system/
total 4
drwxr-xr-x. 2 root root 57 Dec 11 21:07 basic.target.wants
lrwxrwxrwx. 1 root root 57 Dec 11 21:07 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
lrwxrwxrwx. 1 root root 37 Dec 11 21:10 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x. 2 root root 87 Dec 11 21:07 default.target.wants
drwxr-xr-x. 2 root root 32 Dec 11 21:07 getty.target.wants
drwxr-xr-x. 2 root root 35 Dec 11 21:07 local-fs.target.wants
drwxr-xr-x. 2 root root 4096 Dec 14 19:51 multi-user.target.wants
drwxr-xr-x. 2 root root 48 Dec 11 21:07 network-online.target.wants
drwxr-xr-x 2 root root 31 Dec 14 19:31 remote-fs.target.wants
drwxr-xr-x. 2 root root 51 Dec 14 19:31 sockets.target.wants
drwxr-xr-x. 2 root root 254 Dec 11 21:07 sysinit.target.wants
drwxr-xr-x. 2 root root 44 Dec 11 21:07 system-update.target.wants
drwxr-xr-x. 2 root root 58 Dec 11 21:07 vmtoolsd.service.requires
正常的啟動(dòng)級(jí)別是multi-user
患亿,multi-user.target.wants
文件夾下是正常啟動(dòng)Linux會(huì)加載的服務(wù)
[root@nfs01 ~]$ ll /etc/systemd/system/multi-user.target.wants/
total 0
lrwxrwxrwx. 1 root root 38 Dec 11 21:07 auditd.service -> /usr/lib/systemd/system/auditd.service
lrwxrwxrwx. 1 root root 37 Dec 11 21:07 crond.service -> /usr/lib/systemd/system/crond.service
lrwxrwxrwx. 1 root root 42 Dec 11 21:07 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
lrwxrwxrwx. 1 root root 46 Dec 11 21:07 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
lrwxrwxrwx 1 root root 41 Dec 14 19:31 nfs-client.target -> /usr/lib/systemd/system/nfs-client.target
lrwxrwxrwx 1 root root 42 Dec 14 19:51 nfs-server.service -> /usr/lib/systemd/system/nfs-server.service
lrwxrwxrwx. 1 root root 39 Dec 11 21:07 postfix.service -> /usr/lib/systemd/system/postfix.service
lrwxrwxrwx. 1 root root 40 Dec 11 21:07 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
lrwxrwxrwx. 1 root root 46 Dec 11 21:07 rhel-configure.service -> /usr/lib/systemd/system/rhel-configure.service
lrwxrwxrwx 1 root root 39 Dec 14 19:31 rpcbind.service -> /usr/lib/systemd/system/rpcbind.service
lrwxrwxrwx. 1 root root 39 Dec 11 21:07 rsyslog.service -> /usr/lib/systemd/system/rsyslog.service
lrwxrwxrwx. 1 root root 36 Dec 11 21:07 sshd.service -> /usr/lib/systemd/system/sshd.service
lrwxrwxrwx. 1 root root 37 Dec 11 21:07 tuned.service -> /usr/lib/systemd/system/tuned.service
lrwxrwxrwx. 1 root root 40 Dec 11 21:07 vmtoolsd.service -> /usr/lib/systemd/system/vmtoolsd.service