我在crontab中有这个:
*/6 * * * * python3 /root/projects/download.py >> /root/projects/download_errors.log 2>&1
*/10 * * * * python3 /root/projects/upload.py >> /root/projects/upload_errors.log 2>&1
运行良好(每5分钟和每10分钟(
基本上,我的下载脚本从FTP服务器下载文件,然后上传脚本将其上传到不同的FTP服务器。问题是,两个脚本都运行了两三次,然后下载的文件突然变成了0 KB(在FTP服务器上不是0 KB(。这很有趣,因为我的下载脚本中有这个:
if ftp.size('file.txt') > 0:
grabFile()
else:
print("%s The file has 0 KBs..." % date)
代码片段:
下载脚本:
def grabFile():
filename = 'file.txt'
localfile = open(filename, 'wb')
ftp.retrbinary('RETR ' + filename, localfile.write, 1024)
ftp.quit()
localfile.close()
(everything else is the login part and initiating the ftplib)
上传一个:
my_file = "/root/projects/file.txt"
file = open(my_file,'rb')
session = ftplib.FTP()
session.connect(host='my_hostname', port=21)
session.login('my_username', 'my_password')
session.cwd('/path/to/the/file')
session.storbinary('STOR '+ 'file.txt', file)
session.quit()
file.close()
输出文件为空。
我放入
sleep 20;
在第二个cron工作中,一切都很好。我仍然希望他们每5分钟和10分钟跑一次。