文件在 VPS 上将其大小更改为 0 KB

Posted

技术标签:

【中文标题】文件在 VPS 上将其大小更改为 0 KB【英文标题】:File changes its size to 0 KB on VPS 【发布时间】: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 分钟。另见:***.com/questions/12786410/… 【参考方案1】:

我放了

sleep 20;

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

【讨论】:

以上是关于文件在 VPS 上将其大小更改为 0 KB的主要内容,如果未能解决你的问题,请参考以下文章

JavaFX TextField 在焦点上将填充更改为 0

在 iOS15 上将 UIActivityViewController 共享模式导航栏更改为不透明

在移动屏幕尺寸上将按钮更改为“btn-block”

如何在超链接单击 [重复] 上将浏览器从 IE 更改为 Chrome

将反斜杠更改为正斜杠会更改文件大小

更改 phpmyadmin 默认网址