-1
我試着寫一個文件使用cron的這每一分鐘都是我的腳本:如何通過python腳本寫入文件在cron
#!/usr/bin/env python
from datetime import datetime
with open('test.txt', 'a') as f:
a = 'date {!s}'.format(datetime.now())
print a
f.write('date {!s} \n'.format(datetime.now()))
print 'done'
然後我做了
chmod +x /tmp/test.py
然後我加入的cron根
sudo crontab -e
進入的cron
*/1 * * * * /tmp/test.py
在後綴我這個看的每一分鐘,這表明該腳本沒有任何錯誤
From [email protected] Wed Apr 15 22:56:01 2015
Return-Path: <[email protected]>
X-Original-To: root
Delivered-To: [email protected]
Received: by tawanda-lx2 (Postfix, from userid 0)
id 48CA79A13DF; Wed, 15 Apr 2015 22:56:01 +0200 (SAST)
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <[email protected]> /tmp/test.py
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <[email protected]>
Date: Wed, 15 Apr 2015 22:56:01 +0200 (SAST)
date 2015-04-15 22:56:01.246885
done
,但如果我打開/tmp/test.txt
它是空的,如果我跑test.py
手動預期其寫入文件運行
我怎麼你在哪裏搜索test.txt
解開這個謎
它寫了'test.txt',但是哪一個?改爲使用絕對文件名。 – tdelaney
但爲什麼它的工作,如果我直接運行python腳本 –
open('test.txt','a')'打開「test.txt」在程序的當前工作目錄。當您手動運行腳本時,它將在本地目錄中運行。當它由'cron'運行時,它的任何目錄* cron *都將用作它的工作目錄。該目錄取決於您如何註冊您的cron作業(用戶作業,系統作業等),現在配置了cron。 – tdelaney