- 论坛徽章:
- 0
|
本帖最后由 jfgsglb 于 2012-12-12 10:41 编辑
今天在给客户做备份拷贝时,出现了一个很奇怪的问题,具体如下:
拷贝过程:ftp 到备份文件放置的目录 put "备份文件";
文件名:ftp.sh:
ftp -i -n -v <<EOF >>/backup/ftp.log
open *.*.4.123
user root ****
cd /jczz_bak
bin
put 1.txt
bye
EOF
在root下命令行正常执行 ./ftp.sh可以把文件1.txt传递到备份机器对应目录,ftp.log信息如下
230 User root logged in.
250 CWD command successful.
200 Type set to I.
200 PORT command successful.
150 Opening data connection for 1.txt.
226 Transfer complete.
10 bytes sent in 0.000264 seconds (36.99 Kbytes/s)
local: 1.txt remote: 1.txt
221 Goodbye.
而如果把ftp.sh放到cron定时作业里,
12 10 * * * /backup/ftp.sh
作业也成功执行,但是ftp.log信息如下:
230 User root logged in.
250 CWD command successful.
200 Type set to I.
221 Goodbye.
显然put命令没有找到需要传递的文件,经过反复测试,最终发现,put命令会去$HOME目录查找需要传递的文件,不明白
这是为什么.请高手指点啊!!!!!!!!!!!!!!!!!!!
|
|