當前位置:首頁 » 操作系統 » linux的cron

linux的cron

發布時間: 2022-07-15 17:42:47

linux系統的cron服務重啟對系統是否有影響

系統服務是一種應用程序類型,它在後台運行。服務應用程序通常可以在本地和通過網路為用戶提供一些功能,Linux系統服務中的cron就有這樣的功能。
cron進程介紹:
cron進程為Linux用戶提供一種可以計劃在一定時間間隔後自動執行任務的功能。cron通常還會負責at隊列中作業的啟動。
該進程從crontab文件中得到信息,對於每個用戶都會有一個獨立的crontab文件。
運行crontab -l命令,就可以查看已排列的命令列表。
如果要更改cron信息,必須創建一個crontab文件。crontab有固定的格式,有效行包括六個區域,即:
分鍾(0-59),小時(0-23),日(1-31),月(1-12),星期(0-7,0和7都代表周日),命令(要運行的任務)
每個區域都可能帶一個星號,表示整個區間,每個區域也可以使用x-y的形式包含一個范圍,也可能包含一個用逗號隔開的列表。

⑵ 關於linux-ubuntu下cron使用。

Cron是Linux系統中最有用的工具之一,cron作業是在指定時間到來時被調度執行的作業。
最常見的自動化系統管理和自動維護工作,比如每天發出的按計劃完成了備份的通知,或者是按計劃定時清理/tmp/目錄的通知。還有很多Web應用程序也需要執行定時作業。
本文講述了Cron的工作機制,你可以用cron實現調度作業作業。Cron本身是一個守護進程,在後台運行,通過配置文件「crontab」來根據時間調度指定的作業執行。

一、啟動Cron服務

基本上所有的Linux發行版在默認情況下都預安裝了cron工具。即使未預裝cron,也很簡單,執行命令手動安裝它:

root@Ubuntu-14:~# apt-get install cron
接著檢查cron服務的狀態,默認情況它應該運行於後台。如果它未啟動,那麼可以手動啟動此服務。

root@ubuntu-14:~# service cron start
root@ubuntu-14:~# service cron status
cron start/running, process 1027
二、使用Cron幫助

如果cron工作正常,那麼你可以使用man命令查看其手冊描述的詳細用法。

root@ubuntu-14:~# man crontab
上面的命令顯示了crontab手冊描述的使用方法。如果要查看怎樣使用cron作業指定的信息,可以這樣:

root@ubuntu-14:~# man 5 crontab
這里寫圖片描述
要退出幫助命令手冊的顯示,按下q鍵或h鍵。
這里寫圖片描述

三、Crontab命令的用法

下面講述怎樣使用crontab命令實現定時調度作業。

1、對Cron作業進行列表

使用以下命令列出當前用戶計劃的cron作業。

root@ubuntu-14:~# crontab –l
會列出當前用戶的所有cron作業,如果想查看其它用戶的cron作業,可以使用如下命令:

root@ubuntu-14:~# crontab –l –u username
這會列出指定用戶的cron作業。

2、編輯Cron作業

要添加一個新cron作業,或者是編輯現有的cron作業,可以使用如下命令:

root@ubuntu-14:~# crontab -e
3、移除Cron作業

使用下面的命令移除已經計劃的cron作業。

root@ubuntu-14:~# crontab –r
使用下面的命令移除所有已計劃的cron作業,且無需再次確認。

root@ubuntu-14:~# crontab –ir
4、命令參數

-u user:用來設定某個用戶的crontab服務;
file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標准輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。

四、用Crontab計劃任務

除了通過配置文件來處理計劃cron作業之外,還有別的方法可以做到。如果你查看/etc目錄,你會發現有這樣的目錄:cron.daily、cron.hourly、cron.monthly等等。因此,把cron腳本放入這些目錄中,那麼系統會根據這些目錄名定時執行這些作業腳本的。

1、Cron配置類型

Cron有兩種配置文件類型,用於調度自動化任務。

1)系統級Crontab
這些cron作業被系統服務和關鍵作業所使用,且需要root級的許可權才能執行。可以在/etc/crontab文件中查看系統級的cron作業。
這里寫圖片描述
2)用戶級Crontab
用戶級的cron作業是針對每個用戶單獨分開的。因此每個用戶都可以使用crontab命令創建自己的cron作業,還可以使用以下命令編輯或查看自己的cron作業。

root@ubuntu-14:~# crontab –e
這里寫圖片描述
選擇編輯器後,你可以配置新cron作業了。

五、用Crontab調度作業

可以使用指定的語法調度cron作業,而且還有速記縮寫命令,使的管理cron作業很簡單。
Crontab語法如下:

* * * * * command to be executed
- - - - - -
| | | | | |
| | | | | --- 預執行的命令
| | | | ----- 表示星期0~7(其中星期天可以用0或7表示)
| | | ------- 表示月份1~12
| | --------- 表示日期1~31
| ----------- 表示小時1~23(0表示0點)
------------- 表示分鍾1~59 每分鍾用*或者 */1表示
六、新Cron作業配置實例

現在你已經熟悉了crontab命令、語法及cron作業的類型,現在可以創建一些作業計劃進行測試。可以使用crontab –e 命令添加。

1、每分鍾運行的計劃作業

下面的例子,創建一個cron作業,它每分鍾輸出文本「test cron job to execute every minute」並把文本發送到[email protected]郵箱。
首先用crontab命令編輯

root@ubuntu-14:~# crontab –e
寫入以下的腳本

SHELL=/bin/bash
HOME=/
MAILTO=」[email protected]
#This is a comment
* * * * * echo 'test cron job to execute every minute'
:wq! 保存並退出
這里寫圖片描述
一旦保存了此cron腳本文件,就可以把它添加到計劃的作業中。

2、在指定時間調度Cron job作業

假如想調度某個cron作業,讓它在「每個星期四的下午7:00」運行,那麼crontab腳本應該這樣:

00 19 * * 4 sh /root/test.sh
再把它添加到調度作業中。

root@ubuntu-14:~# crontab -e
crontab: installing new crontab

⑶ linux下cron怎麼設置

使用crontab -e 然後 0 4 1 jan* 0 /sbin/shutdown -h now 或者 0 4 1 jan* 0 /sbin/poweroff 然後保存,退出 很多Linux視頻教程,不斷更新中,敬請關注我的論壇,linux兄弟連論壇, http://www.linuxbrother.com 我的qq: 15251276,不明白的加我 crontab-操作每個用戶的守護程序和該執行的時間表。 作者 Matthew Dillon . 部分參數說明 crontab file [-u user]-用指定的文件替代目前的crontab。 crontab-[-u user]-用標准輸入替代目前的crontab. crontab-1[user]-列出用戶目前的crontab. crontab-e[user]-編輯用戶目前的crontab. crontab-d[user]-刪除用戶目前的crontab. crontab-c dir- 指定crontab的目錄。 crontab文件的格式:M H D m d cmd. M: 分鍾(0-59)。 H:小時(0-23)。 D:天(1-31)。 m: 月(1-12)。 d: 一星期內的天(0~6,0為星期天)。 cmd要運行的程序,程序被送入sh執行,這個shell只有USER,HOME,SHELL這三個環境變數。 下面是一個例子文件: #MIN HOUR DAY MONTH DAYOFWEEK COMMAND #每天早上6點 106* * * date 每分鍾執行 */1 * * * * program program代表你要執行的程序 #每兩個小時 0*/2* * * date #晚上11點到早上8點之間每兩個小時,早上部點 0 23-7/2,8* * * date #每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點 0 11 4* mon-wed date #1月份日早上4點 0 4 1 jan* date 範例 lark:~>crontab-1 列出用戶目前的crontab. #MIN HOUR DAY MONTH DAYOFWEEK COMMAND 10 6* * * date 0*/2* * * date 0 23-7/2,8 * * * date lark:~>

⑷ linux如何實現cron調度

cron 守護進程是一個由實用程序和配置文件組成的小型子系統,在幾乎所有類 UNIX 系統上都可以找到某種風格的 cron。cron 的組件包括守護進程本身

⑸ linux中的cron和crond是什麼東西 有什麼關系

linux中有一個命令可以定期來執行系統任務。這就是crond服務。下面介紹下crontab命令的用法。
linux任務調度的工作主要分為以下兩類:
編輯/etc/crontab 文件配置cron
cron服務每分鍾不僅要讀一次 /var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用cron服務做一些事情。用 crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:
1、系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
2、個人執行的工作:某個用戶定期要做的工作,例如每隔10分鍾檢查郵件伺服器是否有新信,這些工作可由每個用戶自行設置
crontab是UNIX系統下的定時任務觸發器,其使用者的許可權記載在下列兩個文件中:
文件 含義
/etc/cron.deny 該文件中所列的用戶不允許使用crontab命令
/etc/cron.allow 該文件中所列的用戶允許使用crontab命令
/var/spool/cron/ 是所有用戶的crontab文件
crontab命令的格式為:crontab –l|-r|-e|-i [username],其參數含義如表一:
參數名稱 含義 示例
-l 顯示用戶的crontab文件的內容 crontab –l
-i 刪除用戶的crontab文件前給提示 crontab -ri
-r 從crontab目錄中刪除用戶的crontab文件 crontab -r
-e 編輯用戶的Crontab文件 crontab -e
用戶所建立的crontab文件存於/var/spool/cron中,其文件名與用戶名一致。
它的格式共分為六段,前五段為時間設定段,第六段為所要執行的命令段,
格式如下:* * * * *
其時間段的含義如表二:
段 含義 范圍
第一段 代表分鍾 0—59
第二段 代表小時 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期幾,0代表星期日 0—6
例:如果用戶的Crontab文件的內容是:29 19 * * * echo its dinner time,則系統每天的19:29顯示『its dinner time』
示例(創建一個cron全過程,每分鍾都會在test.txt里輸入當前時間):
1、以普通用戶登錄Linux系統(我用的是CentOS4.1)
2、$crontab –e
說明:系統默認的編輯器是VIM,如果不是請加上以下shell:
$EDITOR=vi
$export EDITOR
3、輸入」*/1 * * * * date >> $HOME/test.txt」,save and exit VIM
4、$su root
5、$cd /etc/init.d
6、./crond restart
下面看看看幾個具體的例子:
● 0 */2 * * * /sbin/service httpd restart 意思是每兩個小時重啟一次apache
● 50 7 * * * /sbin/service sshd start 意思是每天7:50開啟ssh服務
● 50 22 * * * /sbin/service sshd stop 意思是每天22:50關閉ssh服務
● 0 0 1,15 * * fsck /home 每月1號和15號檢查/home 磁碟
● 1 * * * * /home/bruce/backup 每小時的第一分執行 /home/bruce/backup這個文件
● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3點鍾,在目錄/home中,查找文件名為*.xxx的文件,並刪除4天前的文件。
● 30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30執行一次ls命令
● 晚上11點到早上8點之間每兩個小時,早上八點
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
7、編輯cron的配置文件/etc/crontab,如下:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號
HOME=/ //使用者運行的路徑,這里是根目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本
大家注意"run-parts"這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名了。
8、如果某 cron 任務需要根據調度來執行,而不是每小時、每日、每周、或每月地執行,它可以被添加到 /etc/cron.d 目錄中。該目錄中的所有文件使用和 /etc/crontab 中一樣的語法。
# record the memory usage of the system every monday
# at 3:30AM in the file /tmp/meminfo
30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
# run custom script the first day of every month at 4:10AM
10 4 1 * * /root/scripts/backup.sh

⑹ 關於Linux cron使用

(get info with man crontab)

bash# crontab -e -u root

Some examples:

# MIN HOUR DAY MONTH DAYOFWEEK COMMAND
# run `date` at 6:10 am every day
10 6 * * * date

# run every two hours at the top of the hour
0 */2 * * * date

# run every two hours between 11 pm and 7 am, and again at 8 am
0 23-7/2,8 * * * date

# run at 4:00 am on January 1st
0 4 1 jan * date

# run every day at 11 am, appending all output to a file
0 11 * * * date >> /var/log/date-output 2>&1

⑺ 怎麼配置linux的cron計劃

在終端:
輸入crontab
0
0
1
*
*
/sbin/shutdown
-h
now
"FOR
MAINTANCE"
按ctrl+d保存退出
接著運行:
service
portmap
restart
重新啟動RPC服務,默認是啟動的。
service
crond
restart
重新啟動crond服務,必須的!讓你上面的配置生效!

熱點內容
db2plsql 發布:2025-01-22 08:19:10 瀏覽:778
豬豬俠腳本沒反應 發布:2025-01-22 08:08:37 瀏覽:811
賽博朋克跟永劫無間哪個配置高 發布:2025-01-22 08:07:07 瀏覽:534
請盡快上傳 發布:2025-01-22 08:06:22 瀏覽:188
河北編程培訓 發布:2025-01-22 08:01:42 瀏覽:591
a星演算法視頻 發布:2025-01-22 07:55:01 瀏覽:878
快手安卓怎麼直播 發布:2025-01-22 07:54:58 瀏覽:937
買伺服器搭建vpn 發布:2025-01-22 07:53:21 瀏覽:808
路由器忘記密碼如何解 發布:2025-01-22 07:38:47 瀏覽:154
5分鍾視頻編譯 發布:2025-01-22 07:36:33 瀏覽:772