Linux 計劃任務(wù)
crontab 執(zhí)行Python腳本(以Postgresql為例,自動下架過期商品):
- Python腳本,自動下架商品:
#!/usr/bin/env python
# -*-coding: utf-8 -*-
'''自動下架獲取'''
import psycopg2
config = {
'host': '127.0.0.1',
'port': 5432,
'user': 'xxx',
'password': 'xxx',
'database': 'xxx',
}
conn = psycopg2.connect(host=config['host'],
port=config['port'],
user=config['user'],
password=config['password'],
database=config['database'])
cur = conn.cursor()
# 自動下架商品
sql = "update goods set state=-1 where (etime + '10 day')::date < now()::date;"
cur.execute(sql)
print(cur.rowcount)
# 自動截止車輛需求
sql2 = "update truck_demand set state=1 where (end_time)::date >= now()::date;"
cur.execute(sql2)
print(cur.rowcount)
conn.commit()
cur.close()
conn.close()
try:
f = open('/var/www/logs/aa.txt', 'w+')
# with open('/var/www/logs/aa.txt', 'w+') as f:
f.write('ahahhahahahah')
f.close()
except:
f.close()
- crontab計劃任務(wù):
0 0 * * * /var/www/crontab_bash/auto_offline.py
注1: 上面表示每天0點定時執(zhí)行該腳本
注2: 執(zhí)行Python腳本的時候,如果腳本內(nèi)添加
#!/usr/bin/env python
之后,
表示該腳本是可執(zhí)行文件,直接用上面的代碼即可.否則需要改為下面代碼(我用的是虛擬環(huán)境
的Python)
0 0 * * * /usr/bin/env/python /var/www/crontab_bash/auto_offline.py
- 注3: 基本格式
* * * * * command
分 時 日 月 周 命令
- crontab其他命令:
- 啟動 加載 重啟 停止
有些命令用的是crond
sudo service cron start 啟動
sudo service cron reload 加載
sudo service cron stop 停止
sudo service cron restart 重啟
- 查看運行狀態(tài):
sudo service cron status
- 插入命令:
crontab -e