自動FTP的SHELL腳本,結合數據庫的系統管理,它有很多用途,可以提高你的工作效率。
用途1: 把數據庫的邏輯備份或者其它關鍵的文件傳到另一個地區,實現遠端備份。
( 例如:從北京機房的傳到上海機房。)
auto_ftp.sh 內容如下:
#!/usr/bin/sh
ftp -i -n 192.168.0.253 <<FTPIT
user username password
bin
put /oracle_backup/exp/user1.dmp.Z /bk/oracle_bak/dmp/user1.dmp.Z
put /oracle_backup/exp/user2.dmp.Z /bk/oracle_bak/dmp/user2.dmp.Z
quit
FTPIT
你可以根據實際情況修改斜體字的內容:
目標服務器的IP地址,ftp用戶名和密碼,put或者get傳遞方式,源目錄文件和目標目錄文件。
用途2: 使遠端節點間有規律的數據庫導出並導入的工作自動進行。
按時間順序在源服務器執行exp_tables.sh,然後auto_ftp_tables.sh。
接著在目標服務器執行drop_tables.sh,最後imp_tables.sh。
如何設置時間表並自動執行,請參看 UNIX下讓ORACLE定時執行*.sql文件。
用途3: 把自動生成的壓縮格式的報表文件傳到Linux郵件服務器,由機器自動給相關人員發EMAIL。
auto_mail.sh 內容如下:
$(cat mail.txt; uuencode report1.txt report2.txt ) | mail [email protected]
說明:mail.txt為郵件正文的內容,report1.txt.Z report2.txt.Z為郵件的兩個附件,
[email protected]為郵件的收件人。