自动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 maggiefengyu@mail.china.com
说明:mail.txt为邮件正文的内容,report1.txt.Z report2.txt.Z为邮件的两个附件,
maggiefengyu@mail.china.com为邮件的收件人。