互联网服务系统维护aix 6

aix ftp 直接执行目录和放到cron定时作业里执行目录不同问题

今天在给客户做备份拷贝时,出现了一个很奇怪的问题,具体如下:拷贝过程:ftp 到备份文件放置的目录 put "备份文件";文件名:ftp.sh:ftp -i -n -v /backup/ftp.logopen *.*.4.123user root ****cd /jczz_bakbinput 1.txtbyeEOF在root下命令行正常执行 ./ftp.sh可以把文件1.t...显示全部
今天在给客户做备份拷贝时,出现了一个很奇怪的问题,具体如下:

拷贝过程:ftp 到备份文件放置的目录 put "备份文件";
文件名:ftp.sh:

ftp -i -n -v <>/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目录查找需要传递的文件,不明白
这是为什么.请高手指点啊!!!!!!!!!!!!!!!!!!!收起
参与8

查看其它 6 个回答aixora的回答

aixoraaixora系统架构师BOZJ
cron中的执行命令的环境变量只来自/etc/environment或自身的脚本中定义。
其他类似.profile或/etc/profile的设置。cron都无法取到。
金融其它 · 2012-12-12
浏览1177

回答者

aixora
系统架构师BOZJ

aixora 最近回答过的问题

回答状态

  • 发布时间:2012-12-12
  • 关注会员:1 人
  • 回答浏览:1177
  • X社区推广