今天遇到一个用户的问题:
你好,
我现在遇到这样一个问题,当我使用sftp在两台linux主机之间传输文件时,我的这个脚本每天凌晨1点40左右定时执行,运行近一个月来,发现有两次不成功的情况(分别是8月17号和8月19号),但是网络确保是联通的,请帮我分析一下我的脚本和日志,看看有什么问题,十分感谢!
|
用户计划任务调用脚本通过sftp上传文件,偶尔失败,想知道失败的原因。
开始从server端想办法,想让sftp打出详细的日志。不过最后也只能打出登录和退出的日志,至于上传过程都无法记录。后来想到可以从客户端想办法找原因啊:
测试环境举例如下:每天1点40执行/tmp/szftp,将执行过程写入/tmp/szftp.txt文件
# crontab -l
40 1 * * * sh -x /tmp/szftp &>/tmp/szftp.txt
|
其中/tmp/szftp内容如下:
# cat szftp
#!/bin/bash
LANG=en
sftp 172.16.86.143<<EOF
lcd /tmp
cd /root
prompt off
put *.txt
put *.rar
bye
EOF
|
执行完毕之后,/tmp/szftp.txt内容如下:
# cat szftp.txt
+ LANG=en
+ sftp 172.16.86.143
Connecting to 172.16.86.143...
sftp> Invalid command.
sftp> sftp> sftp> Uploading szftp.txt to /root/szftp.txt
File "*.rar" not found.
sftp> sftp>
|
由以上日志可知:登录sftp服务器成功,prompt off命令在sftp中不支持,*.txt上传成功,*.rar上传失败,因为本地没有此文件。
由此日志可以分析未上传的原因。为防止日志不断增大,/root/szftp.txt只保留当天内容,如发现有上传失败的情况,请于当天查看/root/szftp.txt。
阅读(2056) | 评论(0) | 转发(1) |