免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2161 | 回复: 9
打印 上一主题 下一主题

一个公司的笔试题,请高手解答。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-03 15:17 |只看该作者 |倒序浏览
题目要求:用shell脚本,来完成自动ftp传输。
每天把发生变法的文件,tar打包后放到ftp上,ftp地址:172.16.1.3
用户名:backup 密码:666666.

初学shell编程,请给与支持。

论坛徽章:
0
2 [报告]
发表于 2004-07-05 14:58 |只看该作者

一个公司的笔试题,请高手解答。

find+tar+ftp应该就可以搞定.

论坛徽章:
0
3 [报告]
发表于 2004-07-05 17:02 |只看该作者

一个公司的笔试题,请高手解答。

ftp  -ni 172.16.1.3 <<END
user backup 666666
bin
put file
bye
END

论坛徽章:
0
4 [报告]
发表于 2004-07-05 18:03 |只看该作者

一个公司的笔试题,请高手解答。

参考postgres数据库的备份脚本吧  

  1. root@linux root]# cat backup.sh

  2. #!/bin/bash



  3. FTPHOST=ftp.9812.net

  4. USER=netkiller

  5. PASSWD=xxx



  6. echo "Starting Backup PostgreSQL ... "

  7. #big5 gb2312 gb18030 …

  8. export PGCLIENTENCODING=gb18030

  9. su - postgres -c pg_dumpall > pgsql-backup.`date +%Y-%m-%d.%H:%M:%S`.dmp

  10. tar zcvf pgsql-backup.`date +%Y-%m-%d`.tar.gz *.dmp



  11. echo "Upload File ..."

  12. ftp -n ${FTPHOST} <<!

  13. user ${USER} ${PASSWD}

  14. binary

  15. prompt

  16. mkdir backup

  17. cd backup

  18. mput *.tar.gz

  19. close

  20. bye

  21. !

  22. echo "Remove temp file ..."

  23. rm -rf pgsql-backup.*.dmp

  24. rm -rf pgsql-backup.????-??-??.tar.gz

复制代码

论坛徽章:
0
5 [报告]
发表于 2004-07-06 10:55 |只看该作者

一个公司的笔试题,请高手解答。

#!/bin/bash



FTPHOST=ftp.9812.net

USER=netkiller

PASSWD=xxx



echo "Starting Backup PostgreSQL ... "

#big5 gb2312 gb18030 …

export PGCLIENTENCODING=gb18030

su - postgres -c pg_dumpall > pgsql-backup.`date +%Y-%m-%d.%H:%M:%S`.dmp

tar zcvf pgsql-backup.`date +%Y-%m-%d`.tar.gz *.dmp



echo "Upload File ..."

ftp -n ${FTPHOST} <<!

user ${USER} ${PASSWD}

binary

prompt

mkdir backup

cd backup

mput *.tar.gz

close

bye

!

echo "Remove temp file ..."

rm -rf pgsql-backup.*.dmp

rm -rf pgsql-backup.????-??-??.tar.gz


根据我的经验,这个shell在手工run的时候不会有任何问题。
可是如果放到crontab中会有很多问题。
#!/bin/bash

FTPHOST=ftp.9812.net

USER=netkiller

PASSWD=xxx

#big5 gb2312 gb18030 …

export PGCLIENTENCODING=gb18030

export TARFILE=`date +%Y-%m-%d`

export DMPFILE=`date +%Y-%m-%d.%H:%M:%S`

su - postgres -c pg_dumpall > pgsql-backup.$DMPFILE.dmp

tar zcvf pgsql-backup.$TARFILE.tar.gz pgsql-backup.$DMPFILE.dmp


ftp -n ${FTPHOST} <<!

user ${USER} ${PASSWD}

binary

prompt

mkdir backup

cd backup

put pgsql-backup.$TARFILE.tar.gz

close

bye

!

rm -rf pgsql-backup.$DMPFILE.dmp

rm -rf pgsql-backup.$TARFILE.tar.gz

这样改动之后,在Crontab理会比较安全

论坛徽章:
0
6 [报告]
发表于 2004-07-07 04:03 |只看该作者

一个公司的笔试题,请高手解答。

恩。。。多谢楼上的指点。。。 要不我又要头大了,这脚本以后用得着。。。收藏ing

论坛徽章:
0
7 [报告]
发表于 2004-07-15 10:56 |只看该作者

一个公司的笔试题,请高手解答。

谢谢!
很好,帮助很大!

论坛徽章:
0
8 [报告]
发表于 2004-07-15 10:59 |只看该作者

一个公司的笔试题,请高手解答。

感觉可以加入精华区去了。

论坛徽章:
0
9 [报告]
发表于 2004-07-17 13:31 |只看该作者

一个公司的笔试题,请高手解答。

嘿嘿,俺还是喜欢用.netrc的方式自动传输:)

论坛徽章:
0
10 [报告]
发表于 2004-07-17 13:53 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP