Posted on 2009-04-10 19:25
Prayer 閱讀(791)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Shell
通過(guò)UNIX SHELL腳本實(shí)現(xiàn)FTP自動(dòng)傳輸
問(wèn)題提出:因工作需要,要業(yè)務(wù)系統(tǒng)要求作完日終后,把數(shù)據(jù)從主機(jī)通過(guò)FTP傳送到備機(jī)。
需要分析:
1.每天日終時(shí)間不同,所以最好是手工編制腳本,當(dāng)業(yè)務(wù)人員日終完成后,手動(dòng)調(diào)用,而不能通過(guò)任務(wù)調(diào)度來(lái)實(shí)現(xiàn)。
2.每天要傳送的數(shù)據(jù)文件名不同(與日期相關(guān)),所以要在腳本中處理文件名。
3.需要業(yè)務(wù)人員提供的信息越少越好,每天操作,命令多了,出錯(cuò)的機(jī)會(huì)也多。
具體腳本如下:(在 Sco Open Server 5.0.x 上測(cè)試通過(guò))。
希望對(duì)大家有所幫助。
――――――――――――――――――
#!/bin/sh
#取得年月日
YYYY=`date "+%Y"`
MM=`date "+%m"`
DD=`date "+%d"`
filename="$YYYY$MM$DD"
#顯示年月日
echo "Input Backup Date: ($filename) \c"
#讀取輸入,如果是當(dāng)天日期,可直接回車
read filename
if test -n filename
then
echo "Backup Date: $filename"
else
filename="$YYYY$MM$DD"
echo "Backup Date: $filename"
fi
#取得日期后,寫一個(gè)FTP腳本
#備機(jī)地址
#備機(jī)用戶,密碼
echo "user loginname password">>ftp.cmd
echo "bin">>ftp.cmd
echo "hash">>ftp.cmd
#備機(jī)目錄
echo "cd /usr/database">>ftp.cmd
#文件名為 data20070310
echo "put data$filename">>ftp.cmd
echo "close">>ftp.cmd
echo "bye">>ftp.cmd
cd /usr/database
#自動(dòng)執(zhí)行ftp
cat $HOME/ftp.cmd|ftp -n
echo "Auto Backup $filename Data Finished!"
―――――――――――――――――――
本文出自 “徒步天下我的夢(mèng)” 博客,請(qǐng)務(wù)必保留此出處http://hiker2008.blog.51cto.com/10867/19