我有我的python脚本来安排每隔1分钟创建一个文本文件。我想在后台运行这个文件,即使重新启动系统它也应该存在。
我的Python文件:
import schedule
import time
#datetime.datetime.now().strftime("%H:%M")
def job():
print("Scheduling is Working...")
createfile()
def createfile():
company = "Example file"
with open('company.txt', 'w+') as f:
f.write(str(company))
print("File Created on:",time.ctime(time.time()))
f.close()
return True
# schedule.every(10).minutes.do(job)
# schedule.every().hour.do(job)
#schedule.every().day.at("11.40").do(job)
schedule.every(1).minutes.do(job)
while 1:
schedule.run_pending()
time.sleep(1)
systemd
来提供服务MY Systemd服务:
[Unit]
Description=Run scheduler back
After=multi-user.target
Conflicts=getty@tty1.service
[Service]
Type=simple
ExecStart=/usr/bin/python3 /var/www/html/dev/schedulerun.py > /var/log/sanu_daemon.log 2>&1
StandardInput=tty-force
[Install]
WantedBy=multi-user.target
我检查了状态,它工作正常,但没有创建文本文件 我无法弄清楚错误是什么。
答案 0 :(得分:1)
您可以在“服务”部分配置工作目录和用户:
[Service]
WorkingDirectory=/var/www/html/dev/
User=frank
# or www-data, or whatever user you want ...
# Other settings, such as ...
Type=simple
ExecStart=/usr/bin/python3 /var/www/html/dev/schedulerun.py > /var/log/sanu_daemon.log 2>&1
StandardInput=tty-force
有关详细信息,请参阅systemd.exec manpage。