DB 用RMAN 直接将备份文件放在盘柜上了,为了以防万一,老大让把这些备份文件在copy到一个备份服务器上。 RMAN 对目录有严格的要求,以后如果要恢复,还是还原到相同的目录。
之前我计划是将备份服务器共享之后,直接mount 到DB 服务器上,然后在cp 过去,这样是很简单的。但是搞系统的大哥建议用ftp来实现。 当时说是不会出现不能umount的情况,还有啥是安全什么得,这个新年一过也记不清了。 备份服务器上安装了Server-U 的FTP 服务,配置好之后,把备份文件传过来就可以了。
参考:
Linux 终端访问 FTP 及 上传下载 文件
http://blog.csdn.net/tianlesoftware/archive/2010/08/18/5818990.aspx
Linux find 命令 -exec 参数说明
http://blog.csdn.net/tianlesoftware/archive/2011/02/09/6175439.aspx
三步实现:
(1). 查找符合要求的文件,放到一个临时文件夹。
(2). 在ftp中使用mput 上传,上传完从临时文件夹中删除。
(3). 在备份服务器上做好删除策略。不然空间会撑满掉。
三点说明:
(1). 如果说只保留2天的话倒简单,在mput 之前用mdelete 把文件全部删除掉,在上传就可以了,因为我这里要保留多天的记录。 所以就只能在备份服务器上在弄个批处理的计划任务来删除了。
(2). mput 的时候有个问题,它会要求按下回车后在上传, 这对自动脚本来说是非常麻烦的。 我们需要关闭这个指令。
ftp>prompt
切换交谈式指令,使用mput/mget 时不用每个文件皆询问yes/no
ftp> help prompt
prompt force interactive prompting on multiple commands
ftp> prompt
Interactive mode off.
ftp> prompt
Interactive mode on.
ftp> prompt
Interactive mode off.
ftp>
不加任何参数就可以进行开发或关闭的设备,每执行一次,状态就会改变。
(3) find -mtime 参数说明
find /u01/backup/backupsets -mtime +1 -name "*" :+号 表示 1天前的文件
find /u01/backup/backupsets -mtime -1 -name "*" :表示1天内的文件
完整脚本:
Linux上传脚本:
[xezf@localhost scripts]$ cat uploadbackup.sh
#!/bin/sh
find /u01/backup/backupsets -mtime -1 -name "*" -exec cp -f {} /u01/backup/backuptmp /;
ftp -n 192.168.88.251 << EOF
user user password
bin
lcd /u01/backup/backuptmp
prompt
mput *
bye
EOF
cd /u01/backup/backuptmp
rm -rf /u01/backup/backuptmp/*
将uploadbackup.sh脚本添加到crontab,定时执行。 关于crontab,参考我的Blog:
Linux Crontab 定时任务 命令详解
http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315039.aspx
备份服务器删除脚本:
deletebackupfile.bat
forfiles /p E:/db_backup_history/xezf /m * /d -10 /c "cmd /c del @file"
将这个bat 文件添加到计划任务,定时执行即可。我这里保留的是10天。
在自己的本本上测试没有问题。 找个测试库跑几天看看。 没问题在搬到生产库上去。
补充一句,具体情况具体对待。
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满)
DBA3 群:62697850 DBA 超级群:63306533;
聊天 群:40132017
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
分享到:
相关推荐
Linux+ftp+自动上传备份文件脚本Linux+ftp+自动上传备份文件脚本Linux+ftp+自动上传备份文件脚本Linux+ftp+自动上传备份文件脚本
Linux下mysql定时自动备份并FTP到远程脚本
linux中FTP自动备份VPS脚本.docx
(UNIX、Linux)MySql数据库全量备份和增量备份处理脚本,以及从ftp自动拷贝备份文件(完整操作,附带shell脚本)
linux自动备份sh脚本 自动备份,并且上传到ftp。
windows脚本自动归档、压缩文件,并通过sftp方式(公私钥身份验证)将文档上传至备份服务器(文档中包含详细步骤与脚本源码,本文档为原创文档)。
自己编写的一个脚本,供大家用来学习和备份。采用zip压缩,个人感觉比tar好些,因为tar不...备份保留本地最新3份备份,并且保留FTP最新7份,顺便鄙视下网上很多备份脚本都是复制粘贴照抄照搬,用都用不了还胡乱发。。。
实现批量上传FTP服务器备份功能,并支持压缩,可配置备份频率
这是一个十分好用的Linux脚本,适合对管理MySQL数据库的网络管理员使用,可以实现自动异地备份数据库数据。
主要介绍了CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中,本文脚本比较实用,其它Linux系统也可参考,需要的朋友可以参考下
Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本的操作时怎样进行的?如今备份已经成为一种非常重要的操作技术,掌握好数据库备份,对大家以后的工作会很有帮助
ftp命令把远程计算机上的文件传输到本地计算机时,需要和用户交互。怎样使交互过程自动化呢
允许匿名FTP,允许上传,chroot用户目录,上传文件属主改为root anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES ...
本脚本能够实现对用户...或者tar -zcvf "$file_bak" * .bash_profile .profile),并且能够将备份的信息自动的通过FTP传送到指定的服务器的路径,同时也可以使用crontab对脚本定时,可以根据时间的情况使用和更改脚本。
主要介绍了linux数据库备份并通过ftp上传脚本,脚本还可以备份网站,需要的朋友可以参考下
linux下自动备份MySQL数据并上传到FTP上的shell脚本,需要的朋友可以参考下
现在则希望,利用本地的centos机器,自动备份到本地. 解决方法如下: 1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定. 代码如下:wget ftp://user_name:password@ip_address:port/dir/file_name 2....
Oracle的expdp自动备份和rman备份策略脚本。 1、使用crontab创建计划任务,然后自动定时备份,并使用ftp上传到其他位置做异地备份。 2、rman备份的周策略。
在linux环境下,使用shell和expect为交换机做配置文件的批量备份。 sw.sh和ftp.exp是备份主程序文件。 mk_ip_seq.sh是生成ip.txt交换机IP地址表的脚本。