Linux服务器定时备份以及服务器间互相同步备份

第一、 定时备份
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值