从数据库服务器1的当天备份数据用FTP上传到另一服务器2。在数据库服务器1的/home/databackup的目录下创建并编写autoftp.sh文件。
文件内容如下:
#!/bin/sh
ftp -i -v -n <open ***.***.***.***
#启动 FTP 连接服务器2
***.***.***.***为服务器2的ip地址
user risesoft ******
#risesoft为用户名
******为密码
Binary
#以二进制传输
prompt off
lcd /home/databackup
#在数据库服务器1的目录
cd /home/risesoft/67OracleBackup
#在服务器2的目录
mput risenet56`date +%Y%m%d`.tar.gz
#上传数据
close
bye
!
--------------------------------------------------
2.3
在数据库服务器1上给两个shell文件赋予权限
用oracle用户给backup.sh赋予相应的权限,启动一个终端,执行切换用户命令:su – oracle ,然后输入用户的密码。执行赋予权限命令:chmod +x /home/databackup/backup.sh
然后再执行命令:chomd +x /home/databackup/autoftp.sh
2.4
在数据库服务器1中的crontab来定时执行shell
用oracle用户启动一个终端,输入命令进行编写:crontab –e
内容如下:
30 19 * * * /home/databackup/backup.sh 2>&1
30
22 * * * /home/databackup/autoftp.sh 2>&1
--------------------------------------------------
保存,可以用命令:crontab –l
来查看.
上述的作用:每天19:30执行backup.sh文件,而backup.sh进行备份当天的数据,并删除前第6天的数据,则保留前5天的数据。每天22:30执行autoftp.sh文件,把当天的备份数据从数据库服务器1上传到另一服务器2。
2.5
在服务器2上创建删除前第6天的 shell文件
每天都从数据库服务器1的备份数据上传到另一服务器2上,但服务器2)上的容量也是有限的,只保留前5天的数据,每天自动删除前第六天的备份数据。因为上传的用户名为risesoft,所以用risesoft用户在服务器2的/home/risesoft/67OracleBackup目录下创建并编写delete.sh文件。
内容如下:
rm -f /home/risesoft/67OracleBackup/risenet56`date -d -5day +%Y%m%d`.tar.gz
#删除前第5天的数据
--------------------------------------------------
2.6
在服务器2上给delete.sh文件赋予权限
备份的数据是用risesoft用户上传上来的,用risesoft用户给delete.sh赋予相应的权限,启动一个终端,执行切换用户命令:su – risesoft
,然后输入用户的密码。执行赋予权限命令:chmod +x /home/risesoft/67OracleBackup/delete.sh
2.7
在服务器2中的crontab定时执行delete.sh文件
用oracle用户启动一个终端,输入命令进行编写:crontab –e
内容如下:
30
23 * * * /home/risesoft/67OracleBackup/delete.sh 2>&1
--------------------------------------------------
保存,可以用命令:crontab –l
来查看.
上述作用:在每天的23:30自动执行delete.sh文件,delete.sh文件则自动删除在/home/risesoft/67OracleBackup目录下的前第5天的备份数据。
(
注:gz的解压命令:(如:Test.tar.gz)
1 先解压成tar包: gunzip Test.tar.gz
2 在解压Test.tar包:tar xvfm Test.tar
)