Linux下Oracle文件的自动备份与ftp自动上传
如何实现自动备份
本目录中给出了五个.sh脚本文件,它们的作用分别为:
1. export.sh——导出数据库中所有owner为zhaoilei的表
2. hotbackup.sh——对数据库进行全库备份
3. rm.sh——删除无用的备份和导出信息
4. rmsh.sh——利用时间触发前面三个脚本文件
5. ftp.sh ——自动上传到Web服务器
关于上述脚本有两点说明:
1. 需要以Oracle用户在/home/oracle下新建accountbk和expfile两个目录,分别存放全库备份和导出文件
2. 定时备份需要在命令行输入crontab /路径/rmsh.sh
另外,用户可以根据自己的安装路径和用户名、密码以及导出的具体需要,修改这些脚本。
如果备份的文件编码格式不正确,将export.sh修改成
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
注:此处的编码要与 /home/oracle/.bash_profile中的NLS_LANG中的编码一致即可。
自动备份注意事项:
1) 在命令行中判断 crond是否启动
a) /sbin/service crond status
b) 如果没有启动,切换到root用户下输入下列字符启动crond
/sbin/service crond start
并将此语句加入
/etc/rc.d/rc.local
使crond自动启动
c) 一切顺利,修改 export.sh、hotbackup.sh、rm.sh、ftp.sh的属性,选择上执行权限。
d) 在命令行下执行 export.sh看能否在expfile下生成文件,如果可以则完成配置,如果不可以,根据提示的信息修改export.sh文件。
e) 输入 crontab /home/oracle/rmsh.sh将自动备份文件放入定时执行序列
1)如何在ftp中取得系统时间 extfile=`date +"%m_%d"`
2)如何在ftp中连接字符串 file="fulltmp_"$extfile"_23_00.dmp"
附件为脚本的压缩文件/Files/mintqzy/sh.rar