每次的工作都是重复的,如何个脚本来简化工作?(内详)

addjava 2003-10-16 03:13:38
举例,环境是 Red Hat Linux release 7.3
/home/zhxd下有log目录
每天的工作步骤如下,例如今天
进入/home/zhxd目录下
tar cfz log20031016.tar.gz log
然后
ftp 199.199.199.66
输入用户名backup
再输入密码1234
然后bin用二进制格式传输
然后put log20031016.tar.gz
然后工作结束.这些能写成脚本一次搞定吗?

...全文
85 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
addjava 2003-10-17
  • 打赏
  • 举报
回复
谢谢core(酒载青山)问题已经解决,单独执行是没问题的,我刚才在一台linux执行上述脚本其ftp目标机器是一台windows,所以报错.而实际环境目标ftp机器是linux,所以错了.刚才在实际环境中测试Linux ftp到Linux是没问题的.谢谢大家,散分了.
core 2003-10-17
  • 打赏
  • 举报
回复
按上面的方法手工试试
ftp -n 199.199.199.66
user backup 1234
看看能不能登进去
addjava 2003-10-17
  • 打赏
  • 举报
回复
谢谢楼上的,不过我运行报错,我也查了不少资料,是不是这种方式只适用于匿名ftp啊!
====
Not logged in.
Login failed.
Not logged in.
Not logged in.
Passive mode refused.
======
core 2003-10-17
  • 打赏
  • 举报
回复
cd /home/zhxd/log
DATES=`date +%Y%m%d`
FILE=log${DATES}.tgz
tar zcvf $FILE log
ftp -n 199.199.199.66<<EOF
user backup 1234
bin
put $FILE
bye
EOF # 前面不要加字符
addjava 2003-10-17
  • 打赏
  • 举报
回复
谢谢 CoolQ()
CoolQ 2003-10-16
  • 打赏
  • 举报
回复
expect时必需的,因为传统的Shell是不能给你输入密码的
addjava 2003-10-16
  • 打赏
  • 举报
回复
非用expect吗?机器山没有安装.郁闷啊!
nemo2050 2003-10-16
  • 打赏
  • 举报
回复
Expect 就是专为解决这类问题而开发的。
nemo2050 2003-10-16
  • 打赏
  • 举报
回复
看来你需要 Tcl/Tk 的 Expect 扩展,下面的链接有介绍与例子程序。

http://www-900.ibm.com/developerWorks/cn/education/linux/l-tcl/tutorial/l-tcl-5-1.html
addjava 2003-10-16
  • 打赏
  • 举报
回复
哦,少了一个bye命令结束ftp.
ecfa 2003-10-16
  • 打赏
  • 举报
回复
关注

23,115

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧