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