【LINUX學習】例行命令的建立
例行命令就是那些需要定期執行的命令或者某個指令碼。在linux中一般使用at 和contable服務來實現。
下面就簡要的介紹一下兩個的大概使用方法
at :此服務僅僅執行一次,之後就從linux中取消
先檢視一下at服務的狀態
[root@localhost test]# service atd status
atd (pid 2222) 正在執行...
停止服務
[root@localhost test]# service atd stop
停止 atd:[確定]
啟動服務
[root@localhost test]# service atd start
啟動 atd:[確定]
設定開機時自動啟動
[root@localhost test]# chkconfig --level 35 atd on
取消開機時自動啟動
[root@localhost test]# chkconfig --level 35 atd off
[root@localhost test]# ls
yang.txt
設定2分鐘後 刪除test目錄裡面的yang,txt 檔案
[root@localhost test]# at now + 2 minutes
at> rm -f yang.txt
at>
job 5 at 2010-11-26 20:10
查詢當前主機上有多少的at 服務
[root@localhost test]# atq
5 2010-11-26 20:10 a root --5 代表編號,之前我做了測試。
上面說 在2010-11-26 20:10 有一個定時工作 設定該工作的是root ,編號為5
[root@localhost test]# ls
[root@localhost test]# atq
過了兩分鐘以後 檢視test 目錄和 at服務 ,可以看見yang.txt 檔案被刪除了,而且at服務也沒有了。當然如果設定at 服務錯誤或者想要撤銷,可以執行如下語句:
[root@localhost test]# at now + 4 minutes
at> cp yant^H -我設定了一個錯誤的例子。
at>
job 6 at 2010-11-26 20:17
[root@localhost test]# atq
6 2010-11-26 20:17 a root --這次編號變為6
[root@localhost test]# atrm 6 --atrm 後面跟 jobnumber 意為刪除該工作。
[root@localhost test]# atq --再次查詢 編號為6的 at 服務被刪除了。
[root@localhost test]#
---至此 at 服務的使用方法結束。更多的at ,atq ,atrm 使用方法請參考man。
cron: 此服務將迴圈進行。
相對於at 一次性執行服務,多次迴圈工作的工作就由cron這個系統服務來完成的。
linux提供了crontab 命令 來實現 例行工作。
使用者要想使用crontab 的使用者是由一下檔案決定 的;
/etc/cron.allow:
將可以使用cron服務的帳號寫入該檔案,若不在該檔案的使用者則不能使用cron服務
/etc/cron.deny
將禁止使用cron服務的帳號寫入該檔案,若不在該檔案的使用者則能使用cron服務
當然 如果不存在以上兩個檔案的話 就只有root使用者可以使用cron服務。cron.allow 比cron.deny 優先,一般這兩個檔案只使用一個就可以了。一般來說系統保留cron.deny 。
下面介紹一下crontab的使用方法:
啟動與關閉服務與at 一樣,只是服務名稱不同罷了。因此,偶將此省略了。
[root@localhost test]# crontab -l --
no crontab for root
[root@localhost test]# crontab [-u name] [-l|-e|-r]
-bash: -e: command not found
-bash: -r]: command not found
[-u: 沒有那個檔案或目錄
[root@localhost test]# crontab -e
no crontab for root - using an empty one
10 20 26 11 * cp /root/yang.txt /root/test/yang1.txt --11月26號20點10分 將yang.txt 檔案複製到 test資料夾中並改為yang1.txt
~
"crontab.XXXX9gx37D" 1L, 53C written
crontab: installing new crontab
[root@localhost test]# crontab -l --檢視使用者當前的crontab 工作。
10 20 26 11 * cp /root/yang.txt /root/test/yang1.txt
系統設定的 /etc/crontab
[root@localhost test]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root 說明當crontab發生錯誤時或者有stderr stdout資訊時,會將錯誤的資訊傳遞給誰。系統設定為傳送mail給root。管理員可以設定為自己的郵箱
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly --額每小時
02 4 * * * root run-parts /etc/cron.daily --每天
22 4 * * 0 root run-parts /etc/cron.weekly --每星期
42 4 1 * * root run-parts /etc/cron.monthly --每個月
現在看看剛才設定的crontab服務;
[root@localhost test]# ls
yang1.txt -成功執行了!
當我們要刪除已經設定的服務時;
[root@localhost test]# crontab -l
10 20 26 11 * cp /root/yang.txt /root/test/yang1.txt
[root@localhost test]# crontab -r
[root@localhost test]# crontab -l
no crontab for root
注意:當僅僅只是刪除一個任務時 請使用crontab -e 來編輯 crontab -r 是刪除所有的任務。
-----------------------------------------EOF------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-680417/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux例行性命令問題!(轉)Linux
- LINUX學習(九)Linux目錄的建立與刪除命令Linux
- Linux 命令學習Linux
- 【AIX 命令學習】建立邏輯卷!AI
- linux命令學習——psLinux
- Linux命令學習(一)Linux
- 一起來學習linux建立使用者useradd命令Linux
- 學習一個 Linux 命令:shutdown 命令Linux
- Linux的常用命令學習Linux
- 學習Linux必須掌握的命令!Linux
- Linux命令ping,nc的學習Linux
- linux基礎命令學習Linux
- Linux命令學習---目錄Linux
- Linux命令學習(重定向)Linux
- 每天學習linux命令(1)Linux
- Linux 下vi 命令學習Linux
- Linux學習之linux的find命令如何使用?Linux
- linux學習筆記---一些命令學習Linux筆記
- 學習Linux最常用的命令有哪些?Linux
- 學習Linux命令的正確姿勢Linux
- Mahout學習之命令列建立序列檔案命令列
- linux進階命令學習一Linux
- Linux 常用命令學習Linux
- 學習Linux基本命令(一)Linux
- 【Linux學習筆記】reboot命令Linux筆記boot
- Linux | 常用命令學習Linux
- [Linux]學習⑨----其他幫助命令Linux
- Linux命令學習總結:rmdirLinux
- Linux 命令學習 (110413)Linux
- linux基礎學習 - free命令Linux
- Linux基本命令學習之二:Linux基本命令Linux
- Linux基本命令學習之一:Linux基本命令Linux
- 學習使用azureCLI建立linux環境Linux
- LINUX學習(五)Linux文字處理命令Linux
- 學習linux命令,看這篇2W多字的linux命令詳解Linux
- 學習一個 Linux 命令:pstreeLinux
- Linux命令和shell指令碼學習Linux指令碼
- Linux 命令 及 簡單操作 學習Linux