AIX 5L 學習大綱/簡易教程(3)(未經許可,請勿COPY)
(續前)
(七)自動執行作業
1、作業控制
暫停正在執行的程式或作業: ^Z
使暫停任務繼續在後臺執行: bg命令
使暫停任務或後臺程式轉前臺執行: fg命令
檢視暫停或後臺作業: jobs命令(可得到作業號)
使用者退出系統後還不會結束執行: nohug
使用者一旦退出系統,nohug啟動的作業無法在jobs命令顯示中更新。
#kill %作業號 (終止指定作業號的程式)
#fg %作業號
#bg %作業號
#nohug Command [Arg...][&] (加&時則在後臺執行)
輸出都會被寫到當前目錄下的nohug.out檔案中,在沒有寫許可權時,重定向到$HOME/nohug.out檔案。
eg. $nohug find /-name myprg -print &
2、at命令
從標準輸入或指令碼檔案中讀取命令,並在指定時間執行。
一般地,at執行後會把標準輸出和錯誤輸出以email形式傳送給使用者,除非使用者作了重定向。
at只在預定時間執行一次,如果未開機則無法執行。但使用者是否退出系統則不影響at命令的執行。
at [-c | -k | -s | -q Queue][-m][-f File]{-t Date | Time [Day] [Increment]}
-c 用csh來執行,相當於-q f
-k 用ksh來執行,相當於-q e
-s 用bsh
-q Queue 將作業放入指定佇列,預設情況下預定作業放在a佇列中,而b,c,d是
保留的佇列名。(b是batch作業,命令從標準輸入讀入,Time引數由
now關鍵字指定;c是cron作業,d是sync作業)
-m 郵件傳送
-f File 檔案代替標準輸入
-t Date ... 指定執行時間。
其中,Day是星期幾,如Sunday;
也可以是月份全稱,如December.
可用管道符將命令Command告訴給at命令在Time時間執行。
eg. $echo Command | at Time(Time為指定時間)
還可用ls命令檢視所有at作業:
#cd /var/spool/cron/atjobs
#ls -l
[實質:at命令發出後,即給在at命令中指定的程式或命令分配一個作業號,並在此目錄中進行排隊,所以可用ls -l檢視到]
-t 後面的引數中:
Date 格式:
[[cc]YY]MMDDhhmm[.SS]
19 83 03180958 .25
20 05 11261709 .33
年份 月日時分 秒
Time 格式:
am(上午,A也可)
pm(下午,P也可)
zulu(格林威治時間)
也可以:noon(N),midnight(M),now(現在)
$at now next week 下週的現在
$at now +38 days 38天后的現在
$at noon tomorrow
$at 3:00 pm Friday next work
用at命令顯示當前系統中已建立的預定作業:
$at -l [-o] [Job ... | -q Queue]
| | ------- --------
| | | |
| | 作業號 作業佇列名
| |
| +-- 按時間順序顯示
+-- 顯示已建立作業
$at -n [User]
eg. #at -n johnson 顯示johnson在使用者佇列中的檔案數
$at -r [-F] [-i] [Job ... | -u User]
-r 刪除已存在的作業
-F 禁止刪除校驗
-i 互動方式
Job ... 作業號
-u User 刪除指定使用者的所有作業(僅root使用者可用)
#atrm 作業號 (相當於:#at -r 作業號,作用都是刪除由at建立的作業)
凡由at命令建立的作業都由cron服務程式在預定的時間執行。
#atq [-c | -n] [User ...] (顯示等待執行的作業佇列)
-c 時間排序
-n 只顯示作業號
以下兩個檔案共同控制使用者使用at和batch命令的許可權:
/var/adm/cron/at.allow (允許)
/var/adm/cron/at.deny (禁止)
只有root使用者可修改、刪除、建立上兩個檔案。
batch命令解決系統負載瓶頸對預定作業的影響。
batch實際上是呼叫at -b -m now命令,其一般格式與at相同。
週期性地自動執行命令(cron程式:自動在定時執行或週期性執行作業)
cron程式由init程式啟動,只需啟動一次,直至系統關閉。
由cron程式完成的事件(定義在/var/adm/cron/queuedefs檔案):
(1)crontab命令
(2)at
(3)batch
(4)sync(系統同步事件,同步寫磁碟操作)
(5)ksh或csh
檢查cron程式是否正常執行:
#crontab -e 編輯crontab檔案新增以下記錄:
***** /bin/date,然後檢查使用者信箱
檢查:#ps -ef |grep cron 檢視cron程式是否執行,如沒有執行,檢查檔案/etc/inittab中是否有下面一行記錄。
cron:23456789:respawn:/usr/sbin/cron
如無,用smitab命令或vi新增上行記錄;
然後,再執行一次:#telinit -q (讓init程式重啟cron程式)
再用ps命令檢查它是否正常執行。
檢視哪些使用者已建立cron作業:
#cd /var/spool/cron/crontabs
[實質:cron機制為每個使用者建立一個crontab檔案,以使用者名稱為檔名,並放在此目錄下]
#ls -l
skulker命令:刪除過時,不再需要的檔案,主要是/tmp目錄下的檔案,在指定時間之前的檔案,a.out檔案、core檔案或ed.hup檔案。(只由root使用者執行)
skulker可與find,xargs命令組合使用,以查詢指定條件的檔案。(請謹慎使用該命令!)
/usr/lib/smdemon.cleanu >/dev/null
指令碼檔案:用於清理sendmail命令的佇列和維護/var/spool/mqueue/log檔案。
crontab檔案記錄的格式:
minute hour day_of_month month weekday command
0~59 0~23 1~31每月第幾天 1~12 0~6(0為星期日) Shell命令或指令碼
(1)從...到....:數字用“-”連線,表範圍,如1-5表示1,2,3,4,5。
(2)單獨數字表示所屬時間內,如Month中填6,表示6月內;
(3)逗號分隔,表示單列項,如1,3,5
(4)*號表所有合法值,如:*放在month表示1~12
舉例:0 0 1,20 * 5 ...
表示每月1日,20日和每週5執行...
如該字串包含%(除\%外),則%之前為命令,之後為標準輸入部分。
如johnson在每個週末下午5:50向所有使用者祝週末愉快,則在/var/spool/cron/crontabs目錄下建一個johnson的檔案,則johnson使用者的crontab檔案就是:/var/spool/cron/crontabs/johnson,在此檔案中新增如下記錄:
0 16 * * 5 /usr/sbin/wall %HAPPY WEEKEND!
新增和修改cron作業
對crontab檔案進行編輯:(1)vi命令手工編輯(2)使用crontab工具
#crontab [-e | -l | -r | -v | File]
-e 編輯當前使用者的crontab檔案,如不存在,則啟動編輯佳話來建立之。
-l 顯示使用者的crontab檔案內容
-r 從crontabs目錄中刪除使用者的crontab檔案
-v 顯示使用者cron作業提交的時間
使用crontab命令兩種方式:
(1)手工方式:手工建立文字檔案如:TempCronjobs,它包括cron程式所需要的內容,則:
$crontab TempCronjobs
該命令首先對TempCronjobs的內容進行合法性檢查,如有效,則copy到/var/admn/cron/crontabs目錄中,並以使用者名稱為檔名或覆蓋當前使用者原來的crontab檔案。
(2)使用crontab -e,它會自動建立或修改以當前使用者名稱為檔名的crontab檔案。
如果當前使用者的crontab不存在,則它會在/var/admn/cron/crontabs目錄中建立它;
如已存在,則先COPY原crontab檔案的一個副本到/tmp目錄下,再對該副本進行編輯,編輯完成後,檢查該副本內容的有效性,再用副本覆蓋原檔案。
顯示crontab檔案的內容:
$crontab -l
刪除一個cron作業,用crontab -e刪除crontab檔案中包含要刪除作業的那一行。(也可以用vi修改)
[注意:避免root使用者使用crontab -r命令,它會刪除/var/spool/cron/crontabs/root檔案,此檔案包含診斷硬體錯誤和檢查系統故障等的日常性定時作業。一旦刪除,會對系統安全構成威脅。此時,只能通過以前的備份來恢復它]
禁止或允許使用某些使用者使用crontab或at命令:
在/usr/adm/cron目錄下建立cron.allow, cron.deny, at.allow, at.deny檔案。
cron.allow和cron.deny都不存在,則只有root使用者可用crontab命令。如相關檔案存在,則存在優先原則;*.allow優先於*.deny。
/var/adm/cron/log檔案中記錄cron程式的所有活動日誌。應該定時清理此cron日誌檔案,以免它太大,佔用空間。
Chapter 18 網路檔案系統NFS
NFS:Network File System 網路檔案系統,Sun Microsystems公司1984年開發,是事實上的工業標準,UNIX系列,WINDOWS系列均支援。
NFS是一個分散式檔案系統,它允許使用者訪問遠端系統上的檔案和目錄,對使用者而言猶如本地。使用者可在本地使用作業系統命令建立、刪除、讀寫遠端檔案和目錄,設定相關屬性。通過使用RPC(遠端過程呼叫)而不受機器型別、作業系統和網路結構的限制。
NFS基於客戶機/伺服器模式。客戶機在訪問伺服器匯出的檔案系統之前,必須先在本地安裝(Mount)這個檔案系統。
遠端資源通常寫作:hostname:pathname格式;hostname為NFS伺服器的主機名,pathname為伺服器上被匯出目錄的絕對路徑。
安裝點(Mount Point):在客戶機上安裝遠端資源的那個目錄。
NFS的具體協議是RPC(遠端過程呼叫)協議與XDR(外部資料表示)協議。RPC是通過UDP和TCP在網路中傳送資料包,所以NFS也依賴於TCP/IP。。RPC和XDR是一套基於TCP/IP的應用程式程式設計介面。
NFS協議是無狀態的。portmap守候程式的主要功能是把RPC程式號轉化為Internet的埠號。它由/etc/rc.tcpip命令檔案啟動,而標準的RPC程式通常由inetd程式啟動。
啟動NFS服務:#mknfs [-I | -N | -B]
[啟動條件]/etc/exports檔案必須存在,否則nfsd和rpc.mountd程式不會啟動。
如不存在,使用:#touch /ect/exports建立一個空的/etc/exports檔案,再啟動NFS服務。
#mknfs -N (-N 立即執行/etc/rc.nfs命令檔案)
在系統啟動時即執行/etc/rc.nfs命令檔案,則需要在/etc/inittab檔案中新增一條啟動NFS服務的記錄:
#mknfs -I (-I 新增一條記錄至/etc/inittab檔案中)
需要新增自動啟動記錄並立即執行,則:
#mknfs -B (這是mknfs的預設引數)
startsrc也可啟動NFS程式,NFS程式也可單獨啟動。
如:#startsrc -s rps.mountd (啟動rpc.mountd程式)
要啟動NFS的所有程式,可以:#startsrc -g nfs
關閉NFS服務:#rmnfs [-I | -N | -B] (引數意義相似,整體作用與mknfs相反)
檢視NFS程式是否在執行:#lssrc -g nfs
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14601556/viewspace-528499/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Pandas大綱學習-0
- 《機器學習實戰》學習大綱機器學習
- 碎片化學習Java大綱Java
- 經濟衰退已來,請勿拒絕AI !AI
- 雲端計算學習路線教程,檔案許可權管理高階許可權
- 設計模式(一):學習大綱設計模式
- 雲端計算學習路線教程大綱課件:LVM管理LVM
- 雲端計算學習路線教程大綱課件:FTP ServerFTPServer
- 雲端計算學習路線教程大綱課件:Linux新手入門教程Linux
- Laravel 許可權 Policy 學習Laravel
- android 6.0許可權機制的簡單封裝(支援批量申請許可權)Android封裝
- 2020web前端學習路線(附全套前端視訊教程+教學大綱)Web前端
- 雲端計算學習路線教程大綱課件:使用自建源
- 雲端計算學習路線教程大綱課件:關於NFSNFS
- 雲端計算學習路線教程大綱課件:EXT2/3/4檔案系統
- Python3 機器學習簡明教程Python機器學習
- android 6.0許可權申請機制(簡單案例)Android
- Android6.0------許可權申請管理(單個許可權和多個許可權申請)Android
- 教學大綱
- 大資料學習大綱,大資料應該怎麼學大資料
- 醫學資訊學(3)——複習筆記提綱筆記
- 雲端計算學習路線教程大綱課件:磁碟陣列 RAID陣列AI
- 雲端計算學習路線教程大綱課件:檔案連結
- 雲端計算學習路線教程大綱課件:關於HTTP ServerHTTPServer
- Open3D 大綱3D
- 雲端計算學習路線教程大綱課件:XFS檔案系統
- 雲端計算學習路線教程大綱課件:Mount 掛載詳解
- 雲端計算學習路線教程大綱課件:FAT檔案系統
- 雲端計算學習路線教程大綱課件:客戶端查詢客戶端
- 雲端計算學習路線教程大綱課件:部署網上商城ecshop
- 雲端計算學習路線教程大綱課件:網路管理基礎
- 簡單的mongodb的學習使用,勿噴,有問題點出MongoDB
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- 2020年大資料學習大綱(持續更新中...)大資料
- 資料庫學習:許可權管理資料庫
- odoo 許可權管理學習總結Odoo
- Zero Copy 學習總結
- Solidity 簡易教程Solid
- flutter簡易教程Flutter