1.1定时压缩bea文件夹
在221.232.101.235 应用服务器上备份压缩bea文件夹:
(1)确保有/backup/weblogic_bak目录,并且权限是weblogic
若不是则修改/backup/weblogic_bak权限
#>cd /backup
#>mkdir weblogic_bak
#> chown -Rf weblogic:weblogic weblogic_bak
su weblogic
$ cd weblogic_bak
$ mkdir log
(2) 编写一个脚本 压缩备份文件的脚本(以weblogic身份操作)
$ vi /opt/weblogic/ backup_weblogic.sh
set `date`
month=`date +%m`
day=`date +%d`
year=`date +%Y`
m_ago=`date --date='2 months ago' "+%m"`
cd /backup/weblogic_bak
rm -rf bea_$m_ago*.tar #删除2个月前备份文件
rm -rf bea_$month$day.tar
tar zcvf bea_$month$day.tar /opt/weblogic/bea >
log/backup_bea_$year$month$day.log
chmod +x backup.sh 修改为可执行文件
(3)添加定时任务(以weblogic身份操作)
$ crontab -e
# run scripts at 1:10AM at sunday of everweek
10 1 * * 0 /opt/weblogic/backup.sh
(4) 确保crontab服务是启动状态
查看服务命令(以root身份操作):
# service crond status
停止服务命令
# /sbin/service crond stop
启动服务命令
# /sbin/service crond start
1.2 定时导出oracle数据库
在数据库服务器221.232.101.236 ,导出gzmobile,gzportal用户:
(1)确保有/backup/oracle_bak目录,并且权限是 oracle,
若不是则修改/backup/oracle_bak权限
#>cd /backup
#>mkdir oracle_bak
#> chown -Rf oracle:oinstall oracle_bak
su oracle
$ cd oracle_bak
$ mkdir log
(2) 编写两个个脚本,导出oracle用户(以oracle身份操作)
$ vi /opt/oracle/backup_gzmobile.sh
set `date`
month=`date +%m`
day=`date +%d`
year=`date +%Y`
rm -rf /backup/oracle_bak/gzmobile_$day.dmp
cd /opt/oracle/product/10.2.0/db_1/bin
exp gzmobile/'mima' file=/backup/oracle_bak/gzmobile_$day.dmp owner=gzmobile log=/backup/oracle_bak/log/gzmobile_$year$month$day.log
$ vi /opt/oracle/backup_gzportal.sh
set `date`
month=`date +%m`
day=`date +%d`
year=`date +%Y`
rm -rf /backup/oracle_bak/gzportal_$day.dmp
cd /opt/oracle/product/10.2.0/db_1/bin
exp gzportal/'mima' file=/backup/oracle_bak/gzportal_$day.dmp owner=gzportal log=/backup/oracle_bak/log/gzportal_$year$month$day.log
chmod +x backup_gzmobile.sh 修改为可执行文件
chmod +x backup_gzportal.sh 修改为可执行文件
(3)添加定时任务(以oracle身份操作)
$ crontab -e
#每天凌晨3:10执行一次
10 3 * * * /opt/oracle/backup_gzmobile.sh
#每天凌晨4:10执行一次
10 4 * * * /opt/oracle/backup_gzportal.sh
(4) 确保crontab 服务是启动状态
查看服务命令(以root身份操作):
# service crond status
停止服务命令
# /sbin/service crond stop
启动服务命令
# /sbin/service crond start
第二 、两台服务器互备
两台互备的服务器IP地址:应用服务器IP 221.232.101.235 数据库IP 221.232.101.236
两台机器需要同步/backup/weblogic_bak和/backup/oracle_bak目录。为确保其目录下权限问题,保证两台服务器中都建有root 、weblogic 、oracle 这三个用户。
如果数据库IP 221.232.101.236没有weblogic用户:
创建weblogic用户命令:
#>groupadd weblogic
#>useradd -g weblogic weblogic
#>passwd weblogic //设置weblogic用户密码
做好准备工作后,开始在2台机器上分别做以下操作
下载rsync
http://rsync.samba.org/ftp/rsync/src/rsync-3.0.5.tar.gz
(1)拷贝文件rsync-3.0.5.tar.gz
放到/soft下
(2)解压
# cd /soft
# tar -xzpvf rsync-3.0.5.tar.gz
(3)编译安装
# cd /soft/rsync-3.0.5/
# ./configure --prefix=/usr/local/rsync
如果报错:configure.sh: error: no acceptable C compiler found in $PATH
则要再安装两个rpm包,下载地址:
libgomp-4.1.2-42.el5.i386.rpm
gcc-4.1.2-42.el5.i386.rpm
# rpm -ihv /backup/libgomp-4.1.2-42.el5.i386.rpm
# rpm -ihv /backup/gcc-4.1.2-42.el5.i386.rpm
# make
# make install
(4) 创建配置文件rsyncd.conf
应用服务器IP 221.232.101.235创建配置文件rsyncd.conf
# vi /etc/rsyncd.conf
#先定义整体变量
secrets file = /etc/rsyncd.secrets
pid file = /var/run/rsyncd.pid
motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
lock file = /var/run/rsync.lock
address = 221.232.101.235 #本机IP地址
uid = root
gid = root
use chroot = yes
read only = no
hosts allow = 221.232.101.236 #可以访问rsync服务的IP
# *号表示除上面允许的外,其他电脑都不可以访问rsync服务
hosts deny=*
max connections =1 #允许客户端的最大连接数
timeout=300
#再定义rsync模块
[weblogic_bak]
#客户端需要同步的目录
path = /backup/weblogic_bak
ignore errors
auth users = root
数据库IP 221.232.101.236创建配置文件rsyncd.conf
# vi /etc/rsyncd.conf
#先定义整体变量
secrets file = /etc/rsyncd.secrets
pid file = /var/run/rsyncd.pid
motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
lock file = /var/run/rsync.lock
address = 221.232.101.236 #本机IP地址
uid = root
gid = root
use chroot = yes
read only = no
hosts allow = 221.232.101.235 #可以访问rsync服务的IP
# *号表示除上面允许的外,其他电脑都不可以访问rsync服务
hosts deny=*
max connections =1 #允许客户端的最大连接数
timeout=300
#再定义rsync模块
[oracle_bak]
#客户端需要同步的目录
path = /backup/oracle_bak
ignore errors
auth users = root
(5)创建存放用户名和密码的文件rsyncd.secrets
# vi /etc/rsyncd.secrets
root:123456
因为rsyncd.secrets存储了rsync服务的用户名和密码,所以非常重要,因此文件的属性必须设为600,只有所有者可以读写:
但是密码可以随便设置,如果是root用户,不要写root操作系统的密码。
# chmod 600 /etc/rsyncd.secrets
(6)创建欢迎文件rsyncd.motd
# vi /etc/rsyncd.motd
rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:
Welcome to use the rsync services!
(7)修改配置文件xinetd.d/rsync
# vi /etc/xinetd.d/rsync
修改disable = no
(8)运行rsync服务。输入以下命令:
# /etc/rc.d/init.d/xinetd reload
重启rsync服务命令:
service xinetd restart
(9)创建一个单独存放密码的文件rsync.passwd,里面写的密码只要跟服务器端/etc/rsyncd.secrets文件中设置的密码一致即可,
# vi /etc/rsync.passwd
123456
# chmod 600 /etc/rsync.passwd
一定要改变权限,否则执行后面的命令时,会报错:password file must not be other-accessible
(10) 以上操作分别在221.232.101.235和221.232.101.236上各做一遍
然后在221.232.101.236 配置同步/backup/weblogic_bak
crontab -e
#每分钟同步一次
*/1 * * * * rsync -vzrtopg --delete --progress --password-file=/etc/rsync.passwd root@221.232.101.235:: weblogic_bak /backup/weblogic_bak
(11) 在221.232.101.235 配置同步/backup/oracle_bak
crontab -e
#每分钟同步一次
*/1 * * * * rsync -vzrtopg --delete --progress --password-file=/etc/rsync.passwd root@221.232.101.236:: oracle_bak /backup/oracle_bak