当前位置: 首页 > 知识库问答 >
问题:

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

袁玮
2023-03-14

我有这个在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()

输出文件为空。

共有1个答案

邓卓
2023-03-14

我把

sleep 20;

在第二个cron任务中,一切正常。我仍然希望他们每5到10分钟跑一次。

 类似资料:
  • 问题内容: 我有一个无法访问的PC上托管的网站。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。 每次尝试上传文件时,都会收到一条错误消息,声称文件超出了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改我无权访问的文件,这样将无法正常工作。其他人建议我将自定义文件添加到我的根目录中,该文件无效。还有其他建议吗? 问题答案: 您需要设置的值,并在

  • 问题内容: 我在HDFS目录中有一堆小文件。尽管文件 量 较小, 但是每个文件的处理时间却很大 。也就是说,一个文件(它是的默认拆分大小)甚至需要几个小时才能处理。 我需要做的是 减小拆分大小 ,以便我可以 利用更多的节点 来完成工作。 所以问题是,怎么可能通过说来分割文件?我需要实现我自己和这一点,或有任何参数设置?谢谢。 问题答案: 可以针对每个作业单独设置的参数。不要更改, 因为这对于HDF

  • 我正在开发一个带有角前端和springboot2.1.2后端的项目,并实现了一种上传图像的方法。但是,它仅在图像是 org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:字段图像超过其最大允许大小1048576字节 我已经看了这些问题:我正在尝试设置maxFileSize但不尊重Sp

  • 我有一个java应用程序,它从不同的来源收集数据并将输出写入特定目录下的文件。 我有一个水槽代理配置为使用spoldir源代码从该目录读取并使用将输出写入Solr。 水槽代理引发以下异常 这是水槽代理的配置 我从异常中理解的是,flume代理开始处理文件,而java应用程序没有完成它的编写。 如何解决此问题? 我不知道这些信息是否有价值。这些配置以前可以正常工作,没有任何问题。我们运行水槽的机器遇

  • 问题内容: 我的Mysql数据库中有一个表,该表用于身份验证。现在,我需要使身份验证区分大小写。在谷歌搜索中,我已经意识到Mysql列对于搜索操作是不区分大小写的(与Oracle相反),并且在创建表时可以通过指定“ binary”即更改默认行为。 有人可以告诉我如何更改Mysql中的表以将“二进制”添加到数据库的现有列吗? 谢谢! 问题答案: