【问题标题】:File changes its size to 0 KB on VPS文件在 VPS 上将其大小更改为 0 KB
【发布时间】:2021-03-28 00:06:53
【问题描述】:

我在 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 服务器。问题是,两个脚本都运行良好 2 或 3 次,然后突然下载的文件变成 0 KB(在 FTP 服务器上不是 0 KB)。这很有趣,因为我的下载脚本中有这个:

if ftp.size('file.txt') > 0:
    grabFile()
else:
    print("%s The file has 0 KBs..." % date)

代码sn-ps:

下载脚本:

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()

输出文件为空。

【问题讨论】:

  • 按照目前的配置方式,两个脚本可能每 10 分钟以完全相同的时间运行。这可能就是问题所在。
  • 我已经考虑过了。我改变了他们应该运行的时间,同样的事情发生了。
  • 在您的问题中显示您的脚本代码和输出文件。如果脚本太长,请创建一个minimal reproducible example。显示修改后的crontab
  • 完成。对不起。输出文件都是空的。
  • 每 6 分钟和 10 分钟仍然在 30 分钟冲突。使用不同的 cron 规范。 IE。 */10 * * * * * 和 5-59/10 * * * * *。 Second 将每 10 分钟执行一次,但在一小时后执行 5 分钟。另见:stackoverflow.com/questions/12786410/…

标签: python-3.x linux bash cron ftplib


【解决方案1】:

我放了

sleep 20;

在第二个 cron 作业中,一切正常。我仍然希望它们每 5 分钟和 10 分钟运行一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    相关资源
    最近更新 更多