crontab定时执行python脚本_linux下使用crontab定时执行python脚本
工作中遇到需要定時(shí)每周執(zhí)行所寫的python腳本,本來想使用python的定時(shí)任務(wù)框架,結(jié)果網(wǎng)上發(fā)現(xiàn)linux中提供crontab可以執(zhí)行定時(shí)任務(wù),省了好多代碼,下面分享一下crontab
語法介紹
crontab命令說明
使用權(quán)限:
root用戶和crontab文件的所有者
語法:
crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
說明:
crontab 是用來讓使用者在固定時(shí)間或固定間隔執(zhí)行程序之用,換句話說,也就是類似使用者的時(shí)程表。-u user 是指設(shè)定指定 user 的時(shí)程表,這個(gè)前提是你必須要有其權(quán)限(比如說是 root)才能夠指定他人的時(shí)程表。如果不使用 -u user 的話,就是表示設(shè)定自己的時(shí)程表。
參數(shù):
-e [UserName]: 執(zhí)行文字編輯器來設(shè)定時(shí)程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設(shè)定 VISUAL 環(huán)境變數(shù)來指定使用那個(gè)文字編輯器(比如說 setenv VISUAL joe)
-r [UserName]: 刪除目前的時(shí)程表
-l [UserName]: 列出目前的時(shí)程表
-v [UserName]:列出用戶cron作業(yè)的狀態(tài)
時(shí)程表的格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分鐘,f2 表示小時(shí),f3 表示一個(gè)月份中的第幾日,f4 表示月份,f5 表示一個(gè)星期中的第幾天。program 表示要執(zhí)行的程式。
當(dāng) f1 為 * 時(shí)表示每分鐘都要執(zhí)行 program,f2 為 * 時(shí)表示每小時(shí)都要執(zhí)行程式,其余類推
當(dāng) f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內(nèi)要執(zhí)行,f2 為 a-b 時(shí)表示從第 a 到第 b 小時(shí)都要執(zhí)行,其余類推
當(dāng) f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執(zhí)行一次,f2 為 */n 表示每 n 小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其余類推
當(dāng) f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b, c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執(zhí)行,其余類推
使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab file 的方式來設(shè)定時(shí)程表。
用VI編輯一個(gè)文件 cronfile,然后在這個(gè)文件中輸入格式良好的時(shí)程表。編輯完成后,保存并退出。
在命令行輸入
$: crontab cronfile
這樣就將cronfile文件提交給c r o n進(jìn)程,同時(shí),新創(chuàng)建cronfile的一個(gè)副本已經(jīng)被放在/ v a r / s p o o l / c r o n目錄中,文件名就是用戶名。
在cronfile中寫入的執(zhí)行腳本如下:
0 * * * * /usr/bin/python ~/task.py
這里一定要注意,執(zhí)行命令和執(zhí)行腳本都要寫全路徑,不然執(zhí)行會不生效
因?yàn)閏rontab沒有輸出信息,需要使用重定向到文件,或者python中可以使用日志功能也可以不重定向
0 * * * * /usr/bin/python ~/task.py >> task.log
crontab的一下日期格式用法,可以自行百度
總結(jié)
以上是生活随笔為你收集整理的crontab定时执行python脚本_linux下使用crontab定时执行python脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js怎么把按钮往下移_js 实现单行数据
- 下一篇: linux禁止客户端上传文件_实战 Fa