adventure part3 03 shell腳本和py文件的定時(shí)執(zhí)行

一熔掺、shell腳本定時(shí)執(zhí)行步驟:

1.crontab -e進(jìn)入當(dāng)前用戶的定時(shí)任務(wù)編輯模式:
分 時(shí) 日 月 周 解釋器絕對(duì)路徑 腳本絕對(duì)路徑
2.保存,退出非剃,腳本即可按照指定的時(shí)間去執(zhí)行腳本

shell腳本的自動(dòng)執(zhí)行置逻,由于沒有crontab權(quán)限,暫時(shí)無法設(shè)置备绽。轉(zhuǎn)載一篇文章保存券坞。

(1)時(shí)間的格式

command
分 時(shí) 日 月 周 命令
第1列表示分鐘1~59 每分鐘用或者 /1表示
第2列表示小時(shí)1~23(0表示0點(diǎn))
第3列表示日期1~31
第4列表示月份1~12
第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天)
5個(gè)*表示每分鐘
*表示每分鐘/時(shí)/日/月/周
*/n表示每隔n分鐘/時(shí)/日/月整/周
每個(gè)時(shí)間位多個(gè)數(shù)值用逗號(hào)隔開:* * * * 0,1,2,3,4,5就表示除了周六以外的每一分鐘
即記住幾個(gè)特殊符號(hào)的含義:

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

 “/”代表”每”,

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

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

1-10 16 * * 1-5 :周一到周五的每天16點(diǎn)的前10分鐘

(2)一些小例子 ( 命令的順序是 分鐘/時(shí)/日/月/周 鬓催,當(dāng)相應(yīng)位置空缺時(shí)可以用*代替)

/2 * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh
上面的例子是每隔2min執(zhí)行一次上面的shell腳本
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重啟apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1报慕、10深浮、22日的4 : 45重啟apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六眠冈、周日的1 : 10重啟apache飞苇。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重啟apache蜗顽。
* /1 * * /usr/local/etc/rc.d/lighttpd restart
每一小時(shí)重啟apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點(diǎn)到早上7點(diǎn)之間布卡,每隔一小時(shí)重啟apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4號(hào)與每周一到周三的11點(diǎn)重啟apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一號(hào)的4點(diǎn)重啟apache

(3)解釋器的絕對(duì)路徑:

which+python3 ===> /usr/local/bin/python3
which+osascript ===> /usr/bin/osascript
which+sh=========>/bin/sh

(4)crontab的一些參數(shù)

ps aux | grep cron :查看服務(wù)是否已經(jīng)運(yùn)行用
crontab -e:編輯當(dāng)前用戶crontab任務(wù),保存退出后自動(dòng)加到crontab列表中執(zhí)行
crontab -l :查看當(dāng)前用戶所有crontab 列表
crontab -r :刪除當(dāng)前用戶所有crontab 列表

(5)禁止Crontab產(chǎn)生郵件(默認(rèn)每執(zhí)行一次發(fā)一封郵件)

方法一:在每一條crontab命令末尾加上

/dev/null 2>&1.
或者&> /dev/null
例如:
0 1 5 10 * /path/to/script.sh >/dev/null 2>&1
0 1 5 10 * /path/to/script.sh &> /dev/null

方法二:另外一種方法是編輯crontab
crontab -e
在第一行加入
MAILTO=””
保存退出
這樣做的好處是雇盖,可以避免 /var/mail/root 體積快速增長(zhǎng)

原文鏈接:https://blog.csdn.net/py_tester/article/details/78272006

二忿等、py文件的定時(shí)執(zhí)行步驟:

(1) 調(diào)度模塊:schedule
import schedule
import time
import datetime
import os
import requests

schedule是一個(gè)第三方輕量級(jí)的任務(wù)調(diào)度模塊,可以按照秒崔挖,分贸街,小時(shí),日期或者自定義事件執(zhí)行時(shí)間

常用方法:
schedule.every().seconds每秒運(yùn)行一次
schedule.every(2).seconds 每2秒運(yùn)行一次
schedule.every(1).to(5).seconds 每1-5秒運(yùn)行一次
schedule.every().minutes 每分鐘運(yùn)行一次
schedule.every().hour 每小時(shí)運(yùn)行一次
schedule.every().day 每天運(yùn)行一次如果后面沒有at表示每天當(dāng)前時(shí)間執(zhí)行一次
schedule.every().day.at("00:00"). 每天凌晨運(yùn)行一次
schedule.every().week每周凌晨運(yùn)行一次
schedule.every().wednesday.at("00:00") 每周三凌晨運(yùn)行一次

(2) 定義job函數(shù)
  • 定義函數(shù)使用到os.system:
    os模塊中的system()函數(shù)可以方便地運(yùn)行其他程序或者腳本狸相。
    語法如下:os.system(command)

其參數(shù)含義如下所示:
command 要執(zhí)行的命令薛匪,相當(dāng)于在Windows的cmd窗口中輸入的命令。如果要向程序或者腳本傳遞參數(shù)脓鹃,可以使用空格分隔程序及多個(gè)參數(shù)逸尖;

  • 執(zhí)行py文件, 并指定輸出到log文件中:command='/path/python3 /path/name.py>> /path/ name.log 2>&1 &'
  • 其中path 是據(jù)對(duì)路徑瘸右,示例如下:
import os
os.system("python ./1.py 1>>log.txt")
os.system("python ./2.py 1>>log.txt")
os.system("python ./4.py 1>>log.txt")

至于Linux nohup娇跟、&、 2>&1是什么太颤,參考鏈接:https://blog.csdn.net/lovewebeye/article/details/82934049

定義job

def job1():
    """
    dw_dim_df 時(shí)間維度表
    """
    print('Job1:每天19:00執(zhí)行一次')
    print('Job1-startTime:%s' % (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
    os.system(
        "/home/anaconda3/bin/python3 /home/frog005/adventure_mdx/create_dim_date.py >> 
/home/frog005/adventure_mdx/mdx/mdx_logs/create_dim_date_schedule.log 2>&1 &")
    time.sleep(20)
    print('Job1-endTime:%s' % (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
    print('------------------------------------------------------------------------')

定時(shí)運(yùn)行job 保存得到schedule.py文件

if __name__ == '__main__':
    schedule.every().day.at('19:00').do(job1)
    schedule.every().day.at('19:02').do(job2)
    schedule.every().day.at('19:05').do(job3)
    schedule.every().day.at('19:07').do(job4)
(3) linux 不間斷任務(wù)
  • 在相應(yīng)的schedule.py文件下運(yùn)行nohup python -u name.py > xxx.log 2>&1 &苞俘, 得到進(jìn)程號(hào) 大功告成
  • 查看進(jìn)程:ps -e
  • 關(guān)閉進(jìn)程: kill -9 進(jìn)程號(hào)
    linux查看進(jìn)程

shell腳本同樣可以用schedule執(zhí)行

其他方法:
https://www.cnblogs.com/linuxprobe/p/11261690.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末龄章,一起剝皮案震驚了整個(gè)濱河市吃谣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瓦堵,老刑警劉巖基协,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異菇用,居然都是意外死亡澜驮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門惋鸥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杂穷,“玉大人悍缠,你說我怎么就攤上這事∧土浚” “怎么了飞蚓?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)廊蜒。 經(jīng)常有香客問我趴拧,道長(zhǎng),這世上最難降的妖魔是什么山叮? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任著榴,我火速辦了婚禮,結(jié)果婚禮上屁倔,老公的妹妹穿的比我還像新娘脑又。我一直安慰自己,他們只是感情好锐借,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布问麸。 她就那樣靜靜地躺著,像睡著了一般钞翔。 火紅的嫁衣襯著肌膚如雪严卖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天嗅战,我揣著相機(jī)與錄音妄田,去河邊找鬼俺亮。 笑死驮捍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脚曾。 我是一名探鬼主播东且,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼本讥!你這毒婦竟也來了珊泳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤拷沸,失蹤者是張志新(化名)和其女友劉穎色查,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撞芍,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秧了,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了序无。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片验毡。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡衡创,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晶通,到底是詐尸還是另有隱情璃氢,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布狮辽,位于F島的核電站一也,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏喉脖。R本人自食惡果不足惜塘秦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望动看。 院中可真熱鬧尊剔,春花似錦、人聲如沸菱皆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仇轻。三九已至京痢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間篷店,已是汗流浹背祭椰。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疲陕,地道東北人方淤。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蹄殃,于是被迫代替她去往敵國(guó)和親携茂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容