#!/bin/bash
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第
#18行,则默认以tag的方式备份
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxxtgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/>可以考虑使用rsync
rsync -zval /volume1/a /volume1/b --log-file=FILE --backup --backup-dir=/volume1/bak
Oracle数据库RMAN的自动备份脚本简介
各位同学知道Oracle数据库RMAN如何自动备份脚本嘛下面我为大家整理了关于Oracle数据库RMAN的自动备份脚本文章,希望能为你提供帮助:
1、数据库设置为归档方式
2、数据库的备份脚本
db_full_backupsh :数据库全备脚本
db_l0_backupsh :数据库0级备份脚本
db_l1_backupsh :数据库1级备份脚本
ftpsh :数据FTP上传脚本
ftp_delsh :数据FTP清理脚本
rman_baksh :数据备份主程序
3、备份原理
每周1、3、6进行0级备份
每周日、2、4、5进行1级备份
备份文件上传到FTP服务器
FTP服务器每周清理一次,但是清理后将周六和周日的备份进行保留(6bak和0bak)
所有工作防暑crontab中自动执行备份
4、备份目录含义
arc :数据库归档目录
rmanbak :数据库备份文件的保存目录
rmanscripts :数据库脚本存放路径
5、FTP目录
ftp上必须手动建立目录
L0:
---1
---3
---6
---6bak
L1:
---2
---4
---5
---0
---0bak
rman_baksh脚本主程序
#!/bin/bash
#--------------------------------------------
# Oracle auto backup using rman
#
# author:songrh
# week:1,3,6 Level 0 backup
# 2,4,5,0 Level 1 backup
# Copyright by ChenLong Tec
#--------------------------------------------
#
#
export ORACLE_BASE=/u02/oracle
export ORACLE_HOME=/u02/oracle/product/924
export ORACLE_SID=PROD
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export NLS_LANG=american_americaZHS16GBK
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NL33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH
export PATH=$PATH:/opt/local/bin
#
SH_PATH=/u02/rmanscripts
ARC_PATH=/u02/arch
RMAN_BAK_PATH=/u02/rmanbak
#
#FULL_PATH=$RMAN_BAK_PATH/full
L0_PATH=$RMAN_BAK_PATH/L0
L1_PATH=$RMAN_BAK_PATH/L1
#
#DAY_TAG=`date "%Y-%m-%d"`
LOG_TAG=`date "%Y-%m-%d"`
#FIRST_DAY=`date %e`
WEEK=`date %w`
#WEEK=1
#
# FTP configure
IP="122120150155"
FTPUSER="ftpbak"
FTPPASS=""
FTPROOT0="L0"
FTPROOT1="L1"
#
DISK_USE=`df -k |sed -n '/u02/'p | awk '{print $5}' |sed 's/%//'`
####check path function
############
if [[ $DISK_USE -ge 90 ]]; then
rm -rf $L0_PATH/
rm -rf $L1_PATH/
fi
if [ "$WEEK" = "6" -o "$WEEK" = "3" -o "$WEEK" = "1" ]; then
if [ ! -d $L0_PATH ]; then
mkdir $L0_PATH
fi
if [ "$WEEK" = "1" ]; then
rm -rf $L0_PATH/
rm -rf $L1_PATH/
mkdir $L0_PATH/$WEEK
$SH_PATH/db_l0_backupsh $L0_PATH/$WEEK
cd $L0_PATH/$WEEK
$SH_PATH/ftp_delsh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAGlog
else
if [ ! -d $L0_PATH/$WEEK ]; then
mkdir $L0_PATH/$WEEK
$SH_PATH/db_l0_backupsh $L0_PATH/$WEEK
cd $L0_PATH/$WEEK
$SH_PATH/ftpsh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAGlog
else
;对于服务器而言,它承担的使命是7x24小时不间断的对外提供服务,但它面临的风险也是很大的,无论是人为误 *** 作、硬件损坏还是黑客攻击,难免有数据损坏丢失的时候。一旦发生数据损坏、丢失现象后,如果没有备份数据,那损失就大了,所以对于任何一台服务器而言,数据的备份机制是不可缺少的。
服务器根据提供的服务不同,大致可为分:数据库服务器、应用服务器、文件服务器。不同服务器的备份机制还是有所区别的,我们分别来看下:
文件服务器备份方案有哪些?
1、Rsync+Inotify实时增量备份
借助Linux的Inotify特性可以监测文件系统变化,一旦发现变化则通知Rsync去同步数据,这样就实现了增量备份,而且性能和及时性都很高。
2、通过服务器定时任务每日凌晨执行备份任务
这种只适合对重要的数据进行日切备份,大概思路就是:Crontab+shell脚本来定时备份。
3、云服务器可借助快照功能来全盘备份
数据库服务器备份方案
对于数据库而言建议部署“主从同步”来实现数据备份,这样做的好处就是:一方面存在数据副本,另外一方面多节点可以缓解数据库压力。
当然了,现在主流数据库也提供全量备份的功能,但如果在数据量大的情况下可能会影响数据库的性能。
1、以主流的MySQL数据库为例,备份方案主要有:
binlog备份
mysqldump全库备份
2、SQLServer也支持完全备份、事务日志备份、差异备份等:
以上就是我的观点,对于这个问题大家是怎么看待的呢?在电脑左下角找到并点击开始,然后找到并点击管理工具。2
/14
找到并双击windows server backup,在d出的窗口右侧找到并点击备份计划。
3
/14
点击下一步,勾选自定义,点击下一步。
4
/14
点击添加项目,选中需要备份的文件或者文件夹,注意这里是可以多选的,然后依次点击确定、下一步。其实这里的设置与windows server 2008相差不大。
5
/14
这里根据需要勾选,小编就勾选每日一次了,然后在选择时间中设置具体的备份时间,点击下一步。
6
/14
这里选择备份文件保存的位置,最好是保存在远程服务器上,如果实在没有,需要备份到本地,就勾选备份到卷,点击下一步。
7
/14
后面的小编就不一一介绍了,这些在之前的windows server 2008的文章中小编写过很多,总之就是根据窗口提示选择本地的磁盘或者文件夹作为备份存储位置,然后依次点击下一步直到完成即可。
淘宝热卖
根据文章内容为您推荐
广告
出版社直供SQLServer数据库技术及应用教程第2版创建管理输入维护查询知识书T-SQL语言游标函数SQLServer2016版数据库设计
¥52 元¥52 元
查看
8
/14
对于服务器文件的自动定时备份,小编一般还是用专业的备份系统,下面以大势至服务器文件备份系统为例进行介绍,百度下载之后解压运行安装文件,根据提示进行安装,待安装完成后返回电脑桌面,双击打开该系统快捷方式,根据提示输入初始登陆帐号admin和密码123,点击确定。
9
/14
点击新增计划,然后点击源备份路径中的浏览,选中需要备份的文件或者文件夹,这里注意是不能多选的,最后点击确定。
10
/14
点击备份目标路径中的浏览,选中备份文件保存的位置,点击确定。
11
/14
点击备份开始时间,设置备份的具体开始日期及时间。
12
/14
点击全量备份频率,在右侧勾选全量备份,只要勾选就说明启用了,然后再设置全量备份的频率周期。
13
/14
点击增量备份频率,在右侧勾选增量备份,这里注意增量备份必须建立在全量备份的基础上,所以在勾选增量备份前必须勾选全量备份,最后设置增量备份频率。
14
/14
点击备份数据清理,然后设置具体的周期即可,最后点击保存。日志处理方法:
/--特别注意
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复
--/
--下面的所有库名都指你要处理的数据库的库名
1清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2截断事务日志:
BACKUP LOG 库名 WITH NO_LOG
3收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles
DBCC SHRINKFILE(1)
4为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行)
a分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b在我的电脑中删除LOG文件
c附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a分离
EXEC sp_detach_db @dbname = '库名'
b删除日志文件
c再附加
EXEC sp_attach_single_file_db @dbname = '库名',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名mdf'
5为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
--SQL语句设置方式:
EXEC sp_dboption '库名', 'autoshrink', 'TRUE'
6如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 库名 modify file(name=逻辑文件名,maxsize=20)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)