linux每個月執(zhí)行命令 linux定時任務(wù)每周一執(zhí)行

linux 每年1月1日早上6點執(zhí)行date命令

1、crontab -e添加

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、沾益ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的沾益網(wǎng)站制作公司

0 6 1 1 * date;

2、crontab -l檢查

3、分鐘 小時 天 月 周 計劃任務(wù);

4、0~59 表示分

0~23 表示小時

1~31 表示日

1~12 表示月份

0~6 表示星期(其中0表示星期日)

如何使用Linux的Crontab定時執(zhí)行PHP腳本的方法

鍵入 crontab

-e 編輯crontab服務(wù)文件

------------------------------------------Ubuntu中的linux---------------

安裝lynx包:apt-get isntall lynx

先寫ln.sh腳本:lynx

設(shè)置定時:crontab -e

0 1 * * * bash /var/www/test/ln.sh

-------------------------------------------------------------------------

分為兩種情況:

第一種情況:你的php腳本中沒有引入其他PHP文件,也就是說沒有include,require_once等命令的PHP文件

* */1 * * * /usr/local/php/bin/php

/var/www/html/wwwroot/web/script.php (每一小時執(zhí)行一次script.php)

注意,這樣寫需要把PHP變成可執(zhí)行的腳本文件。在命令行下,腳本所在目錄

chmod +x script.php

注意:你的script.php文件中一定要在開始處加上: #!/usr/local/php/bin/php -q

,下面是一個完整的script.php文件代碼

?php

#!/usr/local/php/bin/php -q

session_start();

define( "DB_PASSWORD", "111111" ); // 服務(wù)器登陸密碼

define( "DB_NAME", "db_shopping" ); // 數(shù)據(jù)庫名稱

define( "DB_USER", "root" ); // 服務(wù)器登陸用戶

define( "DB_HOST", "127.0.0.1" ); // 服務(wù)器IP地址或名稱

define( "DB_PORT", "3306" ); // 服務(wù)器登陸端口號

define( "DB_CHARSET", "utf8" ); // 數(shù)據(jù)庫默認語言

define( "DB_DEBUG", false ); // 是否設(shè)置為調(diào)試模式

define( "DB_CLOSE", false ); // 是否主動關(guān)閉數(shù)據(jù)庫連接

$con=mysql_connect(DB_HOST.":".DB_PORT,DB_USER,DB_PASSWORD);

mysql_query ( "SET character_set_connection = ".DB_CHARSET.",

character_set_results = ".DB_CHARSET.", character_set_client =

binary");

if (!$con) die("Mysql Error:".mysql_error());

mysql_select_db(DB_NAME,$con);

//$dates=date()

$sqll="insert into test(NAME,Sex,thisdate,state)

values('love','0','2011-08-11','1')";

$resl=mysql_query($sqll);

echo "成功...";

?

/usr/local/php/bin/php的意思是:用/usr/local/php/bin/目錄中的php.exe文件來執(zhí)行

/var/www/html/wwwroot/web/script.php

第二種情況:你的php腳本中有引入其他PHP文件,也就是說有用到include,require_once命令的PHP文件(先寫shell腳本)

上面的方法有一個問題:當script腳本中有include文件時,腳本根本找不對PHP的路徑,php將會在/bin/local/php目錄下找文件,當然找不到。

所以,遇見這種情況,按照下面的方法做:

在終端上輸入如下命令得到sh 和 lynx 程序的路徑:

whereis sh

whereis lynx

or

which sh

which lynx

隨便輸入一個,其中便會返回你要的路徑。如果你的系統(tǒng)里沒有l(wèi)ynx,試試links,w3m,或者

links2,這些是其它的文本模型瀏覽器。這些瀏覽器將會運行你的腳本。

然后你需要創(chuàng)建一個sh文件,用它來調(diào)用php文件,通過lynx。假設(shè)你的服務(wù)器已經(jīng)安裝了lynx,sh路徑為

/bin/sh,lynx路徑為 /usr/local/bin/lynx

#!/bin/sh

/usr/local/bin/lynx -source

注意感嘆號

把這個腳本保存為cron-lynx.sh

保存到一個你找得到的地方,比如:

你可以把它放在網(wǎng)站根目錄。

然后再創(chuàng)建一個script.php的文件。當cron運行的時候,將會通過lynx來調(diào)用它。這個文件可以通過瀏覽器來訪問。

然后編輯主機的crontab,像下面這樣。

*/1 * * * * root /bin/sh

/usr/www/yourdirectory/sh_scripts/cron-lynx.sh

在/bin/sh 和 /usr 間有空格。就這樣就設(shè)好了,還有一點要注意的是,你的sh文件和php文件都正確無誤。

===================================================================================

linux下的crontab服務(wù):

1、crontab 是用來讓使用者在固定時間或固定間隔執(zhí)行程序之用

在linux平臺上如果需要實現(xiàn)任務(wù)調(diào)度功能可以編寫cron腳本來實現(xiàn)。

以某一頻率執(zhí)行任務(wù)

linux缺省會啟動crond進程,crond進程不需要用戶啟動、關(guān)閉。

crond進程負責讀取調(diào)度任務(wù)并執(zhí)行,用戶只需要將相應(yīng)的調(diào)度腳本寫入cron的調(diào)度配置文件中。

cron的調(diào)度文件有以下幾個:

1.

crontab

2.

cron.d

3.

cron.daily

4.

cron.hourly

5.

cron.monthly

6.

cron.weekly

如果用的任務(wù)不是以hourly monthly weekly方式執(zhí)行,則可以將相應(yīng)的crontab寫入到crontab

或cron.d目錄中。

示例:

每隔一分鐘執(zhí)行一次腳本 /opt/bin/test-cron.sh

可以在cron.d新建腳本 echo-date.sh

內(nèi)容為

*/1 * * * * root /opt/bin/test-cron.sh

2、cron是一個linux下的定時執(zhí)行工具,可以在無需人工干預(yù)的情況下運行作業(yè)。由于Cron

是Linux的內(nèi)置服務(wù),如果它不自動起來,可以用以下的方法啟動、關(guān)閉這個服務(wù):

/sbin/service crond start //啟動服務(wù)

/sbin/service crond stop //關(guān)閉服務(wù)

/sbin/service crond restart //重啟服務(wù)

/sbin/service crond reload //重新載入配置

你也可以將這個服務(wù)在系統(tǒng)啟動的時候自動啟動:

在/etc/rc.d/rc.local這個腳本的末尾加上:

/sbin/service crond start

現(xiàn)在Cron這個服務(wù)已經(jīng)在進程里面了,我們就可以用這個服務(wù)了

查看服務(wù)是否已經(jīng)運行用 ps -ax | grep cron

3、crontab命令

查看該用戶下的crontab服務(wù)是否創(chuàng)建成功, 用 crontab -l

命令

命令 which php 查看linux下安裝的php的路徑

cron服務(wù)提供crontab命令來設(shè)定cron服務(wù)的,以下是這個命令的一些參數(shù)與說明:

crontab -u

//設(shè)定某個用戶的cron服務(wù),一般root用戶在執(zhí)行這個命令的時候需要此參數(shù)

crontab -l //列出某個用戶cron服務(wù)的詳細內(nèi)容

crontab -r //刪除沒個用戶的cron服務(wù)

crontab -e //編輯某個用戶的cron服務(wù)

比如說root查看自己的cron設(shè)置:crontab -u root -l

再例如,root想刪除fred的cron設(shè)置:crontab -u fred -r

在編輯cron服務(wù)時,編輯的內(nèi)容有一些格式和約定,輸入:crontab -u root -e

進入vi編輯模式,編輯的內(nèi)容一定要符合下面的格式:*/1 * * * * ls

/tmp/ls.txt

任務(wù)調(diào)度的crond常駐命令crond

是linux用來定期執(zhí)行程序的命令。當安裝完成操作系統(tǒng)之后,默認便會啟動此

任務(wù)調(diào)度命令。crond命令每分鍾會定期檢查是否有要執(zhí)行的工作,如果有要執(zhí)行的工作便會自動執(zhí)行該工作。

crontab命令選項:

-u指定一個用戶

-l列出某個用戶的任務(wù)計劃

-r刪除某個用戶的任務(wù)

-e編輯某個用戶的任務(wù)

4、cron文件語法:

小時

星期

命令

0-59

0-23

1-31

1-12

0-6

command

(取值范圍,0表示周日一般一行對應(yīng)一個任務(wù))

記住幾個特殊符號的含義:

“*”代表取值范圍內(nèi)的數(shù)字,

“/”代表”每”,

“-”代表從某個數(shù)字到某個數(shù)字,

“,”分開幾個離散的數(shù)字

5、任務(wù)調(diào)度設(shè)置文件的寫法

可用crontab

-e命令來編輯,編輯的是/var/spool/cron下對應(yīng)用戶的cron文件,也可以直接修改/etc/crontab文件

具體格式如下:

Minute Hour Day Month Dayofweek

command

分鐘

小時

天每星期

命令

每個字段代表的含義如下:

Minute

每個小時的第幾分鐘執(zhí)行該任務(wù)

Hour

每天的第幾個小時執(zhí)行該任務(wù)

Day

每月的第幾天執(zhí)行該任務(wù)

Month

每年的第幾個月執(zhí)行該任務(wù)

DayOfWeek

每周的第幾天執(zhí)行該任務(wù)

Command

指定要執(zhí)行的程序

在這些字段里,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選

字段,可視需要決定。對于不指定的字段,要用“*”來填補其位置。

舉例如下:

5

*

*

*

*

ls

指定每小時的第5分鐘執(zhí)行一次ls命令

30

5

*

*

*

ls

指定每天的 5:30 執(zhí)行l(wèi)s命令

30

7

8

*

*

ls

指定每月8號的7:30分執(zhí)行l(wèi)s命令

30

5

8

6

*

ls

指定每年的6月8日5:30執(zhí)行l(wèi)s命令

30

6

*

*

ls

指定每星期日的6:30執(zhí)行l(wèi)s命令[注:0表示星期天,1表示星期1,

以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]

30

3

10,20

*

*

ls

每月10號及20號的3:30執(zhí)行l(wèi)s命令[注:“,”用來連接多個不連續(xù)的時段]

25

8-11

*

*

*

ls

每天8-11點的第25分鐘執(zhí)行l(wèi)s命令[注:“-”用來連接連續(xù)的時段]

*/15

*

*

*

*

ls

每15分鐘執(zhí)行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執(zhí)行l(wèi)s命令 ]

30

6

*/10

*

*

ls

每個月中,每隔10天6:30執(zhí)行一次ls命令[即每月的1、11、21、31日是的6:30執(zhí)行一次ls 命令。 ]

每天7:50以root 身份執(zhí)行/etc/cron.daily目錄中的所有可執(zhí)行文件

50

7

*

*

*

root

run-parts

/etc/cron.daily [

注:run-parts參數(shù)表示,執(zhí)行后面目錄中的所有可執(zhí)行文件。 ]

6、 新增調(diào)度任務(wù)

新增調(diào)度任務(wù)可用兩種方法:

1)、在命令行輸入: crontab -e 然后添加相應(yīng)的任務(wù),wq存盤退出。

2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應(yīng)的任務(wù)。

7、 查看調(diào)度任務(wù)

crontab -l //列出當前的所有調(diào)度任務(wù)

crontab -l -u jp

//列出用戶jp的所有調(diào)度任務(wù)

8、 刪除任務(wù)調(diào)度工作

crontab -r //刪除所有任務(wù)調(diào)度工作

9、 任務(wù)調(diào)度執(zhí)行結(jié)果的轉(zhuǎn)向

例1:每天5:30執(zhí)行l(wèi)s命令,并把結(jié)果輸出到/jp/test文件中

30 5 * * * ls /jp/test

21

注:21 表示執(zhí)行結(jié)果及錯誤信息。

編輯/etc/crontab 文件配置cron

cron服務(wù)每分鐘不僅要讀一次/var/spool/cron內(nèi)的所有文件,還需要讀一次

/etc/crontab,因此我們配置這個文件也能運用cron服務(wù)做一些事情。

用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統(tǒng)的任務(wù)。此文件的文件格式是:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root //如果出現(xiàn)錯誤,或者有數(shù)據(jù)輸出,數(shù)據(jù)作為郵件發(fā)給這個帳號

HOME=/ //使用者運行的路徑,這里是根目錄

# run-parts

01

*

*

*

*

root run-parts

/etc/cron.hourly

//每小時執(zhí)行/etc/cron.hourly內(nèi)的腳本

  02

4

*

*

*

root run-parts

/etc/cron.daily

//每天執(zhí)行/etc/cron.daily內(nèi)的腳本

22

4

*

*

root run-parts

/etc/cron.weekly

//每星期執(zhí)行 /etc/cron.weekly內(nèi)的腳本

42

4

1

*

*

root run-parts

/etc/cron.monthly

//每月去執(zhí)行/etc/cron.monthly內(nèi)的腳本

  大家注意”run-parts”這個參數(shù)了,如果去掉這個參數(shù)的話,后面就可以寫要運行的某個腳本名,而不是文件夾名了

例如:

1) 在命令行輸入: crontab -e 然后添加相應(yīng)的任務(wù),wq存盤退出。

2)直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應(yīng)的任務(wù)

11 2 21 10 * rm -rf /mnt/fb

linux命令行下怎么定時執(zhí)行一個命令?

如果只是執(zhí)行一次,用at命令就可以了。如果是定期執(zhí)行,可以使用crontab。

ps:根據(jù)linux發(fā)行版不同,這兩個命令第一次使用時可能要做些準備工作,比如可能在/var/spool/cron下沒有某些文件或沒權(quán)限,要touch一下或chmod一下。

crontab每周一執(zhí)行一次(linux crontab命令詳解)

linux定時執(zhí)行任務(wù)命令是我們在日常工作中經(jīng)常用的,一般情況下,我們都是通過linux的crontab軟件來實現(xiàn),crontab是定時來執(zhí)行一個命令或者一個腳本;但是如果你臨時只執(zhí)行一次命令的話,那么我們也可以采用at命令,同時可以實現(xiàn)我們的目標。

先從crontab開始分享,我們一般通過命令 crontab -l 來查看已經(jīng)定時執(zhí)行的任務(wù),我們要新增呢,我們在命令行輸入

# crontab -e

如果第一次執(zhí)行,他會提示你選擇默認編譯器,一般我選擇vim(vi、nano也可以)

我舉例定時關(guān)機說明:

分 時 日 月 周 命令

0 1 * * 1 /sbin/shutdown -h now

這個意思就是在每周一的一點執(zhí)行 /sbin/shutdown定時關(guān)機(root下才可以關(guān)機)當然你可以寫個腳本,給予執(zhí)行權(quán)限(x),然后輸入腳本的絕對路徑,這里也可以定時執(zhí)行。

定時很簡單吧,其實linux就是要多用多操作多犯錯(非生產(chǎn)環(huán)境)才能成長。

下篇文章我分析at命令用法。

文章來源

Linux:每個月的第一天執(zhí)行某任務(wù)是這樣寫嗎?

這樣寫不行。

這樣寫的意思是, 在每個月的第一天, 每分鐘執(zhí)行一次work.sh

應(yīng)該這么寫:

0?0?1?*?*?root?/tmp/work.sh

Linux怎樣在某一特定時間執(zhí)行命令(使用at”

簡介

at定時任務(wù),指定一個時間執(zhí)行一個任務(wù),只能執(zhí)行一次。需要安裝at服務(wù),apt-get install at;

創(chuàng)建at任務(wù)

創(chuàng)建at任務(wù)方式有兩種,從文件輸入和從控制臺輸入。以下分別用兩種方式創(chuàng)建1分鐘后將當前時間寫入 home/result 文件的命令

1、從文件輸入

2、從命令行輸入

注意此處的是ctrl+d 按鍵。

atq 和 atrm命令

atq查看at定時隊列命令,atrm刪除某個定時任務(wù)命令.

附錄

1、at時間定義

at允許使用一套相當復雜的指定時間的方法。?

1)能夠接受在當天的hh:mm(小時:分鐘)式的時間指定。假如該時間已過去,那么就放在第二天執(zhí)行。?例如:04:00?

2)能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的詞語來指定時間。?

3)能夠采用12小時計時制,即在時間后面加上AM(上午)或PM(下午)來說明是上午還是下午。?例如:12pm?

4)能夠指定命令執(zhí)行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必須跟在指定時間的后面。?例如:04:00 2009-03-1?

5)能夠使用相對計時法。指定格式為:now + count time-units ,now就是當前時間,time-units是時間單位,這里能夠是minutes(分鐘)、hours(小時)、days(天)、weeks(星期)。count是時間的數(shù)量,幾天,幾小時。?例如:now + 5 minutes 04pm + 3 days?

6)能夠直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。

名稱欄目:linux每個月執(zhí)行命令 linux定時任務(wù)每周一執(zhí)行
本文來源:http://muchs.cn/article0/hjdjoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、企業(yè)建站、軟件開發(fā)商城網(wǎng)站、網(wǎng)站策劃、網(wǎng)站建設(shè)

廣告

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

成都app開發(fā)公司