我确信有一个简单的解释,但我似乎无法弄清楚。我有一个 Centos 服务器,它需要每天 FTP 将数据库上传到 QNAP NAS 提供的外部备份。服务器还将数据库的副本放到第二个 Centos 服务器上。该文件> 800MB并且还在增长。
我有一个脚本,它处理文件的 FTP 放置到第二台服务器,这由 crontab 每天调用并且每次都有效。
我有一个几乎相同的脚本,crontab 也为 FTP 调用了一个到 QNAP 的脚本,它总是将文件截断为 150114776 字节。奇怪的是,如果我从 CLI 运行相同的脚本,它总是可以完美地将整个文件传送到 QNAP,这表明 QNAP 对播放的文件大小没有限制。
问题是一致的。使用 crontab 调用传输,文件被截断。使用 CLI 调用并传输整个文件。从未报告过错误;FTP 认为它已经完成了整个工作。
crontab 传输的示例日志:
Connected to 172.172.1.1 (172.172.1.1). 220 NASFTPD Turbo station 1.3.4e Server (ProFTPD) [::ffff:172.172.1.1] Remote system type is UNIX. Using binary mode to transfer files. 331 Password required for fred 230 User fred logged in 250 CWD command successful local: DATA_bk.sql.1.gz remote: DATA_bk_20150811_071501.sql.gz 227 Entering Passive Mode (172,172,1.1,217,232). 150 Opening BINARY mode data connection for DATA_bk_20150811_071501.sql.gz 226 Transfer complete 150114776 bytes sent in 23 secs (6.4e+03 Kbytes/sec) 221 Goodbye.
和手动调用:
Connected to 172.172.1.1 (172.172.1.1). 220 NASFTPD Turbo station 1.3.4e Server (ProFTPD) [::ffff:172.172.1.1] Remote system type is UNIX. Using binary mode to transfer files. 331 Password required for fred 230 User fred logged in 250 CWD command successful local: DATA_bk.sql.1.gz remote: DATA_bk_20150811_120117.sql.gz 227 Entering Passive Mode (172,172,1.1,217,189). 150 Opening BINARY mode data connection for DATA_bk_20150811_120117.sql.gz 226 Transfer complete 879067272 bytes sent in 182 secs (4.5e+03 Kbytes/sec) 221 Goodbye.
谁能指出我忽略的一些规则或建议一种调试方法?
谢谢