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