免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

linux定時命令參數 linux定時器命令

linux中,使用哪個命令去定時處理任務

如果必須使用命令的話,一般會可at命令。

成都創新互聯專注于企業成都營銷網站建設、網站重做改版、安國網站定制設計、自適應品牌網站建設、H5頁面制作商城網站建設、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為安國等各大城市提供網站開發制作服務。

定時任務,指定一個時間執行一個任務,只能執行一次。

語法:#

at

[參數]

[時間]

輸入要執行的任務命令后按Ctrl+d退出即可。

常見參數:

-m

:當指定的任務被完成之后,將給用戶發送郵件,即使沒有標準輸出

-I

:atq的別名

-d

:atrm的別名

-v

:顯示任務將被執行的時間

-c

:打印任務的內容到標準輸出

-V

:顯示版本信息

-q

:后面加列隊

使用指定的列隊

-f

:后面加文件

從指定文件讀入任務而不是從標準輸入讀入

-t

:后面時間參數

以時間參數的形式提交要運行的任務

注:該命令的功能實現需要atd服務

如果需要長期定時或周期性的執行某個任務,則需要使用crontab,編寫cron腳本來實現。同樣,負責安裝腳本執行任務的服務一般叫做crond。具體使用方法篇幅較長,請自行百度。

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 21

注:21 表示執行結果及錯誤信息。

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 21

查看定時任務是否運行:

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

注:腳本有可執行權限

sh a.sh(不需要執行權限)

./sh (需要執行權限)

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

linux定時清理nohup命令下產生的日志

nohup命令 將程序以忽略掛起信號的方式運行起來,被運行的程序的輸出信息將不會顯示到終端。一般用于將程序的輸出、報錯信息重定向到一個指定路徑的指定文件。

語法 :nohup [command] [args] [] ? ?

nohup命令 最后要帶個作為結束

例:nohup python XXX.py abc/def/XXX.log 21

args: 0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;

21是將標準錯誤(2)重定向到標準輸出(1),標準輸出(1)再被重定向輸入到文件,即XXX.log中。

nohup命令的缺點:日志文件文件越來越大,占內存且查看麻煩。因為這個日志文件和程序是共生死的,因為只要程序運行起來,就一直對log文件進行讀寫,直接刪除XXX.log會導致程序也被結束了。

目前想到的一些相關方法如下,并未完全解決問題。

參考: linux下nohup日志輸出過大問題解決方案

split命令:

參數:-b:值為每一輸出檔案的大小,單位為 byte。

? ? ?? -C:每一輸出檔中,單行的最大 byte 數。

? ? ?? -d:使用數字作為后綴。默認這個數字后綴是兩位的,例如00,01,11. -a: 指定位數,例如 -a 4表示后綴是四位的。

? ? ?? -l:值為每一輸出檔的列數大小。

? ? ?? PREFIX:代表前導符,可作為切割文件的前導文件。

例如:

可以用split命令把很大的日志文件分成多個小文件,分割完成后 原文件不變 。不會影響nohup運行的程序。

缺點:split文件分割依賴手動,當程序出故障或調試時,將日志分割以便查看最新的日志信息。沒法定時做到定時自動清理。

首先介紹find命令的參數

參考: linux find命令詳解

在這里主要用到的是這幾個參數:

-atime n 查找系統中最后n*24小時訪問的文件

-ctime n? 查找系統中最后n*24小時被改變文件狀態的文件

-mtime n? 查找系統中最后n*24小時被改變文件數據的文件

+n: n天前; -n: n天之內

find命令還可以和下一條命令連用(xargs或exec)

注:{}表示find到的東西;{}和 \;之間要有一個空格

我感覺exec不是很好用,怪怪的

cat dev/null

在 Linux 中, null 設備基本上被用來丟棄某個進程不再需要的輸出流,或者作為某個輸入流的空白文件,這些通常可以利用重定向機制來達到。

所以 /dev/null 設備文件是一個特殊的文件,它將清空送到它這里來的所有輸入,而它的輸出則可被視為一個空文件。另外,你可以通過使用 cat 命令顯示 /dev/null 的內容然后重定向輸出到某個文件,以此來達到清空該文件的目的。通過使用cat /dev/null,文件大小為0字節。

用cat刪除文件:

但是我發現對于nohup的程序的日志,這樣是無效的。因為nohup的程序持續不斷地在讀寫日志文件,此時無法重定向,我試了幾次,日志文件都壓根沒動。

crontab用于設置定時任務

參考:? linux crontab定時執行shell腳本

crontab命令被用來提交和管理用戶的需要周期性執行的任務,與windows下的計劃任務類似,當安裝完成操作系統后,默認會安裝此服務工具,并且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

語法

 crontab(選項)(參數)

選項

 -e:編輯該用戶的計時器設置;

 -l:列出該用戶的計時器設置;

 -r:刪除該用戶的計時器設置;

 -u用戶名稱:指定要設定計時器的用戶名稱。

參數

 crontab文件:指定包含待執行任務的crontab文件。

首先crontab -e,就會進入vi編輯界面。然后直接把新的命令輸進去就行了。

minute hour day month week command /XXX/XXX.log 順序:分 時 日 月 周

minute: 表示分鐘,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。

/n表示每個n的單位執行一次

command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。

意為每周的1:00執行,且輸出重定向到黑洞目錄。

文章名稱:linux定時命令參數 linux定時器命令
當前URL:http://m.newbst.com/article42/doppiec.html

成都網站建設公司_創新互聯,為您提供營銷型網站建設網站改版企業建站全網營銷推廣網站內鏈外貿網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設