導航:首頁 > 操作系統 > linux定時任務文件

linux定時任務文件

發布時間:2023-03-07 09:25:51

linux 怎麼開啟一個定時任務

在linux系統中我們可以修改定時執行的文件實現定時計劃,具體步驟如下。
1、查看定時執行的文件:命令:「crontab -l」,如同ll或者ls一樣,顯示定時任務列表信息,然後查看定時任務詳細信息,定時任務腳本前面的 * * * * *和數字意思解釋如下:從左到右,依次是:分、時、日、月、星期。
2、修改定時腳本裡面的執行內容,並查看定時腳本執行內容。
3、編輯定時執行計劃。這個方式和修改文件類似。使用命令:"crontab -e" ,e表示edit修改的意思。
4、修改腳本路徑,腳本的具體執行時間等。如果是每隔10分鍾執行一次命令是:「*/10 * * * * /腳本.sh」如果是早上8:30分執行,腳本是:"30 08 * * * /腳本.sh",
如果以上內容沒有解決你的問題,你可以到雷達下載上去看看,裡面會有很多相關的資訊,可以很好的解決你的問題,我也是經常到裡面去看一些資訊的。

⑵ linux怎麼設置定時任務

在linux系統中我們可以修改定時執行的文件實現定時計劃,具體步驟如下。
1、查看定時執行的文件:命令:「crontab -l」,如同ll或者ls一樣,顯示定時任務列表信息,然後查看定時任務詳細信息,定時任務腳本前面的 * * * * *和數字意思解釋如下:從左到右,依次是:分、時、日、月、星期。
2、修改定時腳本裡面的執行內容,並查看定時腳本執行內容。
3、編輯定時執行計劃。這個方式和修改文件類似。使用命令:"crontab -e" ,e表示edit修改的意思。

⑶ linux中批量添加cron定時任務

作為運維工程師多台機器批量操作是常見的事情,但通常設置定時任務我們習慣了crontab互動式操作. 假如我們對多台機器進行批量添加定時任務要如何操作呢:下面斯年介紹一種自己常用的方法 把要添加的crontab內容先寫入到文件下,分發到機器上/home/test/test_cron 然後用批量工具(ansible,salt都可)執行下面的命令即可: crontab -l -u test | cat - /home/test/test_cron | crontab -u test - 備注:這里的用戶是test.定時任務是跑在test帳號下面的.

⑷ linux下編寫定時任務crontab

linux下的crontab服務:
1、crontab 是用來讓使用者在固定時間或固定間隔執行程序之用
在linux平台上如果需要實現任務調度功能可以編寫cron腳本來實現。
以某一頻率執行任務
linux預設會啟動crond進程,crond進程不需要用戶啟動、關閉。
crond進程負責讀取調度任務並執行,用戶只需要將相應的調度腳本寫入cron的調度配置文件中。
cron的調度文件有以下幾個:
1. crontab
2. cron.d
3. cron.daily
4. cron.hourly
5. cron.monthly
6. cron.weekly

如果用的任務不是以hourly monthly weekly方式執行,則可以將相應的crontab寫入到crontab 或cron.d目錄中。
示例:
每隔一分鍾執行一次腳本 /opt/bin/test-cron.sh
可以在cron.d新建腳本 echo-date.sh
內容為
*/1 * * * * root /opt/bin/test-cron.sh

2、cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由於Cron 是Linux的內置服務,如果它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置

你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start
現在Cron這個服務已經在進程裡面了,我們就可以用這個服務了

查看服務是否已經運行用 ps -ax | grep cron

3、crontab命令
查看該用戶下的crontab服務是否創建成功, 用 crontab -l 命令
命令 which php 查看linux下安裝的php的路徑
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:

crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
比如說root查看自己的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任務調度的crond常駐命令crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此 任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。

crontab命令選項:
-u指定一個用戶
-l列出某個用戶的任務計劃
-r刪除某個用戶的任務
-e編輯某個用戶的任務

4、cron文件語法:
分 小時 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范圍,0表示周日一般一行對應一個任務)

5、 新增調度任務
新增調度任務可用兩種方法:
1)、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。

6、 查看調度任務
crontab -l //列出當前的所有調度任務
crontab -l -u jp //列出用戶jp的所有調度任務

7、 刪除任務調度工作
crontab -r //刪除所有任務調度工作

8、 任務調度執行結果的轉向
例1:每天5:30執行ls命令,並把結果輸出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
註:2>&1 表示執行結果及錯誤信息。

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」這個參數了,如果去掉這個參數的話,後面就可以寫::要運行的某個腳本名,而不是文件夾名了。

總結:
編寫定時任務的兩種方式:1.sudo vim /etc/crontab 2. sudo crontab -e
查看定時任務的兩種方式:1.sudo cat /etc/crontab 2.sudo crontab -l

*/1 * * * * appuser cd /app/webserver/website/api-cb.chuchujie.com/master/current/script/ && ./back_coupon.sh 2 10 >> /dev/null 2>&1

查看定時任務是否運行:
sudo tail -f /var/log/cron //定時任務日誌(查看剛才設置的任務是否執行)

註:腳本有可執行許可權

sh a.sh(不需要執行許可權)
./sh (需要執行許可權)

1.當shell腳本具有可執行許可權時,用sh filename與./filename執行腳本是沒有區別的。./filename是因為當前目錄沒有在PATH中,所有"."是用來表示當前目錄的。

⑸ linux計劃任務管理

什麼是計劃任務,計劃任務類似於我們平時生活中的鬧鍾。
在Linux系統的計劃任務服務crond可以滿足周期性執行任務的需求。
crond進程每分鍾會處理一次計劃任務, 計劃任務主要是做一些周期性的任務目前最主要的用途是定時備份數據

Schele one-time tasks with at. 一次性調度執行 at

Schele recurring jobs with cron. 循環調度執行 cron

Schele recurring system jobs. 所有計劃任務執行中的輸出都會以郵件的方式發送給指定用戶, 除非重定向

// 循環調度執行cron 進程每分鍾會處理一次計劃任務

[root@wangqing ~] # systemctl status crond

[root@wangqing ~] # ps aux |grep crond

root 1201 0.0 0.0 126264 1640 ? Ss 11 : 15 0 : 00 /usr/sbin/crond -n

計劃任務分為以下兩種情況:

系統級別的定時任務:

清理系統緩存
臨時文件清理
系統信息採集
日誌文件切割

用戶級別的定時任務:

定時同步互聯網時間
定時備份系統配置文件
定時備份資料庫文件

文件 說明 /etc/crontab / /crontab配置文件 /etc/cron.deny / /該文件中所列用戶不允許使用crontab命令 /var/spool/cron/ * // 所有用戶定時文件都存放此目錄,文件以用戶名命名 /var/log/cron / /定時任務執行後的日誌文件,可用來回溯

crond任務管理

參數 含義 指定示例

[root@wangqing ~] # crontab --help -e 編輯crontab文件內容 crontab -e-l 查看crontab文件內容 crontab -l

-r 刪除crontab文件內容 crontab -r

-u 管理其他用戶的計劃任務 crontab -u wangqing -l

注意: crontab {-l -e}實際上就是在操作/var/spool/cron/username

//如何進行計劃任務的備份?

crond時間含義

# Example of job definition:# .---------------- minute (0 - 59) //分鍾 # | .------------- hour (0 - 23) //小時 # | | .---------- day of month (1 - 31) //日期 # | | | .------- month (1 - 12) OR jan,feb,mar,apr //月份 # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat //星期 # | | | | |# * * * * * command to be executed

// * 表示任意的(分、時、日、月、周)時間都執行// - 表示一個時間范圍段, 如5-7點// , 表示分隔時段, 如6,0,4表示周六、日、四// */n 表示每隔n單位時間, 如*/10 每10分鍾

crond編寫示例

00 02 * * * command

00 02 1 * * command

00 02 14 2 * command

00 02 * * 7 command

00 02 * 6 5 command

00 02 14 * 7 command

00 02 14 2 7 command

00 02 * * * command* 02 * * * command* * * * * command* * 14 2 * command*/5 * * * * command

00 02 * 1,5,8 * command

00 02 1-8 * * command

crond書寫規范

//1.為計劃任務增加必要的注釋

[root@wangqing ~]# crontab -l

##time sync

* /5 * * * * /u sr/sbin/ntpdate time1.aliyun.com &> /dev/ null

//2.規范計劃任務執行腳本存放的路徑/scripts/

[root@wangqing ~]# crontab -l

##backup www to /backup 30 01 * * * /bin/ sh /scripts/www_backup.sh &> /dev/ null

//3.執行shell腳本任務前加/bin/sh, 腳本結尾加&>/dev/null//調試好後應屏蔽debug輸出信息,避免產生系統垃圾佔用過多inode, 如需輸出日誌, 可重定向至日誌文件

[root@wangqing ~]# crontab -l

####backup www to /backup 30 01 * * * /bin/ sh /scripts/www_backup.sh &> /tmp/ www_backup.log

[root@wangqing ~] # crontab -e

#每天凌晨切割nginx日誌 05 00 * * * /bin/bash -x /scripts/cut_nginx.sh &> /scripts/ log /nginx. log

#每天5點備份資料庫 00 05 * * * /bin/bash -x /scripts/mp_sql.sh &>/scripts/ log /mysql. log

//注意: 1. 我們所有的crond服務是運行的程序。而crontab命令用戶用來設置定時規則的命令。 2. crond服務是企業生產工作中常用的重要服務,at很少使用,可以忽略。 3. 幾乎每個伺服器都會用到crond服務。

建議: 將需要定期執行的任務寫入腳本中, 建立/scripts目錄統一存放腳本, 腳本中命令必須使用絕對路徑,手動執行腳本檢測輸出是否正常, 然後將腳本加入計劃任務測試, 測試後無問題將腳本輸出寫入對應的日誌文件中即可。

計劃任務添加步驟:

作業:

a. 00 13,20 * 1-5 * backup.sh
b. 0 13,20 1,5 * * backup.sh
c. * 13,20 * * 1-5 backup.sh
d. 00 13,20 * * 1-5 backup.sh

說明以上答案每一行是什麼含義

2.新建/scripts/httpd.sh文件,並讓/scripts/httpd.sh腳本在每天的00:10分執行

3.新建/backup目錄,每周一下午5:50將/backup目錄下的所有文件打包成 backup.tar.gz

4.寫一個定時任務,每天0點5分把/var/log/nginx下7天前的文件轉移到/backup/2018_xx_xx的目錄中

5.系統腳本/scripts/which.sh,如何定時每隔7分鍾執行一次?

6.如何不小心刪除了/var/spool/cron/root文件,該如何恢復。

/p3.toutiaoimg.com/origin/tos-cn-i-qvj2lq49k0/","uri":"","width":323,"height":27,"darkImgUrl":"https://p3.toutiaoimg.com/origin/tos-cn-i-qvj2lq49k0/","darkImgUri":"","formulaImgStatus":"succeed"}" class="syl-plugin-formula">

⑹ Linux下定時任務(系統任務調度、用戶任務調度)crontab使用詳解

crond是Linux下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,在CentOS Linux release 7.2.1511中默認是開機啟動的,大家可以使用命令:systemctl status crond進行查看。 crond進程定期(每分鍾)檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。用戶在cron表
(也被稱為crontab文件)指定了定時任務,crontab也就是我們常見的定時任務設置命令。Linux下的任務調度分為兩類,系統任務調度和用戶任務調度。

系統任務調度 :系統周期性所要執行的工作,比如寫緩存數據到硬碟、日誌清理等。/etc/crontab文件就是系統任務調度的配置文件。

用戶任務調度 :用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定製自己的計劃任務。所有用戶定義的crontab文件都被保存在/var/spool/cron目錄中。其文件名與用戶名一致,使用者許可權文件如下:

通過以上幫助信息,我們可以知道crond是執行任務計劃的一個守護進程。在使用crontab之前我們可以根據幫助信息來設置相關選項,一般情況下我們都使用默認值。

1.建立演示賬號crontab。

2.星號(*)使用舉例。

以上例子中完整演示了crontab從建立到執行的過程。「5 0 * * * echo "GeekDevOps"」表示在每天00:05執行命令:echo "GeekDevOps"。後面的星號表示只要前面條件滿足都執行。例子中的-u選項指定了用戶:crontab,-l選項列舉了相關用戶的用戶任務調度,不指定用戶則默認為root。執行結果默認寫入到用戶mail目錄下的相關文件中。

3.逗號(,)的使用舉例。

現在我們已經把用戶切換到crontab下,因此無需額外指定-u選項相關內容。「3 2,6,8 * * *」表示每天的02:03:00、06:03:00、08:03:00分別執行一次命令:ls /usr/local。

4.減號(-)的使用舉例。

例子中的「0 2-6 * * 6 df -h /」表示用戶crontab在每周六的02:00、03:00、04:00、05:00、06:00執行命令:df -h / 。

5.斜杠(/)的使用舉例。

例子中表示每隔2分鍾執行一次命令:echo "GeekDevOps">>/root/GeekDevOps.txt。

6.crontab的使用非常簡單,很容易理解,只要在取值范圍內設置執行的值基本是沒有問題的。現在我們要刪除已經設置的這些定時任務。

例子中,選項-r表示刪除所有定時任務。選項-i表示在刪除前進行再次確定,輸入y或者Y才能真正刪除。

7.備份我們設置的用戶任務調度配置文件。

8.系統任務調度的使用舉例。

系統任務調度與用戶任務調度不一樣,需要直接在/etc/crontab裡面配置,如果需要指定用戶,還需要在執行命令前指定用戶名。通過crontab -l 命令是查看不到系統任務調度任務的。

閱讀全文

與linux定時任務文件相關的資料

熱點內容
760貼片機編程視頻 瀏覽:333
歐姆龍plc編程第36講 瀏覽:911
我的世界如何將一個伺服器弄崩 瀏覽:8
php網站訪問量代碼 瀏覽:431
怠速壓縮機咔咔響 瀏覽:176
怎麼才能修改APP中的數據 瀏覽:688
哪裡有搶單的app 瀏覽:462
演算法概率題 瀏覽:465
長方形拉伸的命令 瀏覽:279
python代碼函數編程技術 瀏覽:194
java正則式 瀏覽:429
外包程序員好進嗎 瀏覽:384
雲伺服器服務模型架構 瀏覽:901
刪文件夾什麼指令 瀏覽:509
極速抖音已加密怎麼辦 瀏覽:603
matlab拉格朗日演算法框圖 瀏覽:430
華為公司計算機視覺演算法顧問 瀏覽:254
夏老師講的單片機 瀏覽:298
在編程中如何將圖片放大 瀏覽:163
appstore怎麼看是否付費 瀏覽:603