1.linux db2 自动备份,备份后压缩,拷贝到另一服务器 全备份: #!/bin/sh #------------------------------------- #db2自动备份脚本 #by lushuai # create at 2013-08-05 #------------------------------------ #参数 Basepath=/home/db2-backup-linux/ d
1.linux db2 自动备份,备份后压缩,拷贝到另一服务器
全备份:
#!/bin/sh #------------------------------------- #db2自动备份脚本 #by lushuai # create at 2013-08-05 #------------------------------------ #参数 Basepath=/home/db2-backup-linux/ dblist=$Basepath"script/dblist.txt" #要备份的数据库文件列表 bkdate=`date +%Y%m%d` #备份时间 #bkrootpath=$Basepath"" #备份路径 TargetPath=$Basepath FilePath=$TargetPath"backup/"$bkdate bkyear="`date +%Y`" #要备份的年度,默认是当前年度 ftphost=192.168.0.15 #ftp服务器ip ftpuser=gever #ftp服务器的用户,必须有create read write权限 ftppwd=geverabc #ftp服务器的用户username的密码 dbUser=db2admin dbPwd=db2admin Backup_Log=$TargetPath$bkdate.log #日志 echo "1.备份初始化,备份时间为 `date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Log if [ -e "$Backup_Log" ];then { echo "the log file is already exist!" >> $Backup_Log } else { touch $Backup_Log echo "create log file Successful!" >> $Backup_Log } fi #创建备份文件存储路径,并授权 if [ -w "${FilePath}" ];then { echo "---The database dir is already exist!" >> $Backup_Log } else { mkdir -p "$FilePath" chmod 777 -R "$FilePath" echo "---The database dir create Successful!" >> $Backup_Log } fi #读取数据库文件列表,备份数据库 while read LINE do echo "2.开始备份数据库:"$LINE >> $Backup_Log su - db2admin -c "db2 backup db $LINE online to $FilePath include logs" echo "3.数据库备份结束:"$LINE"($FilePath)" >> $Backup_Log done > $Backup_Log cd $TargetPath"backup" tar -zcvf $bkdate.tgz $bkdate >> $Backup_Log #删除压缩前数据 echo "5.删除压缩前数据" >> $Backup_Log echo rm -rf ${bkdate} #删除10天前备份数据 if [ -w "`date +%Y%m%d --date '20 days ago'`" ]; then { echo "6.删除20天前备份数据" >> $Backup_Log rm -rf "$TargetPath"backup/"`date +%y%m%d --date '20 days ago'`" } else { echo "6.没有20天前备份数据供删除" >> $Backup_Log } fi echo "7.备份结束" >> $Backup_Log #scp $bkdate.tgz root@10.10.0.154:/home/212_db_backup #echo "8.备份文件上传至10.10.0.154:/home/212_db_backup,多机备份" >> $Backup_Log echo "============================================================================" >> $Backup_Log exit
增量备份:
#!/bin/sh
#-------------------------------------
#db2自动备份脚本
#by lushuai
# create at 2013-08-05
#------------------------------------
#参数
Basepath=/home/db2-backup-linux/
dblist=$Basepath"script/dblist.txt" #要备份的数据库文件列表
bkdate=`date +%Y%m%d` #备份时间
#bkrootpath=$Basepath"" #备份路径
TargetPath=$Basepath
FilePath=$TargetPath"backup/incremental"$bkdate
bkyear="`date +%Y`" #要备份的年度,默认是当前年度
ftphost=192.168.0.15 #ftp服务器ip
ftpuser=gever #ftp服务器的用户,必须有create read write权限
ftppwd=geverabc #ftp服务器的用户username的密码
dbUser=db2admin
dbPwd=db2admin
Backup_Log=$TargetPath"incremental"$bkdate.log #日志echo "1.备份初始化,增量备份时间为 `date +'%Y-%m-%d %H:%M:%S'`" >> $Backup_Log
if [ -e "$Backup_Log" ];then {
echo "the log file is already exist!" >> $Backup_Log
} else {
touch $Backup_Log
echo "create log file Successful!" >> $Backup_Log
}
fi
#创建备份文件存储路径,并授权
if [ -w "${FilePath}" ];then {
echo "---The database dir is already exist!" >> $Backup_Log
} else {
mkdir -p "$FilePath"
chmod 777 -R "$FilePath"
echo "---The database dir create Successful!" >> $Backup_Log
}
fi#读取数据库文件列表,备份数据库
while read LINE
do
echo "2.开始备份数据库:"$LINE >> $Backup_Log
su - db2admin -c "db2 backup db $LINE online incremental to $FilePath include logs"
echo "3.数据库备份结束:"$LINE"($FilePath)" >> $Backup_Log
done#文件打包
echo "4.压缩文件" >> $Backup_Log
cd $TargetPath"backup"
tar -zcvf "incremental"$bkdate.tgz "incremental"$bkdate >> $Backup_Log#删除压缩前数据
echo "5.删除压缩前数据" >> $Backup_Log
echo
rm -rf "incremental"${bkdate}
#删除10天前备份数据
if [ -w "`date +%Y%m%d --date '20 days ago'`" ]; then {
echo "6.删除20天前备份数据" >> $Backup_Log
rm -rf "$TargetPath"backup/incremental"`date +%y%m%d --date '20 days ago'`"
} else {
echo "6.没有20天前备份数据供删除" >> $Backup_Log
}
fi
echo "7.备份结束" >> $Backup_Log
#scp "incremental"$bkdate.tgz root@10.10.0.154:/home/212_db_backup
#echo "8.备份文件上传至10.10.0.154:/home/212_db_backup,多机备份" >> $Backup_Log
echo "============================================================================" >> $Backup_Log
exit
2.linux db2导出表结构和数据
echo 数据备份开始
#加载环境变量
. /home/db2inst1/sqllib/db2profile
#BACKDIR是放置备份文件的目录
BACKDIR="/home/db2inst1/backup"
#DBNAME是数据库名称
DBNAME="ATMP"
#连接数据库
db2 connect to $DBNAME user db2inst1 using 000000
#新建临时目录存放导出的表结构文件
#mkdir $BACKDIR
#新建临时目录存放导出的表结构文件
mkdir $BACKDIR/$DBNAME
#给几个目录授可读、可写权限
chmod a+w $BACKDIR
chmod a+w $BACKDIR/$DBNAME
#切换到新建临时目录下
cd $BACKDIR/$DBNAME
#执行导出数据库表结构
db2look -d $DBNAME -td @ -i db2inst1 -w 000000 -e -o ATMP.sql
#新建临时目录存放导出的表数据文件
mkdir atmpdata
#给目录授可读、可写权限
chmod a+w atmpdata
#切换到新建临时目录下
cd atmpdata
#执行导出数据库表数据
db2move $DBNAME export -u db2inst1 -p 000000
#取系统日期
DATE=`date +%Y%m%d`
hh=`date +%H`
mm=`date +%M`
now=$DATE-$hh:$mm
#切换到备份目录下
cd $BACKDIR
echo $now
#开始打包和压缩备份文件
tar cvf - $DBNAME | gzip -qc > $DBNAME.$now.tar.gz
#删除临时目录
rm -rf $BACKDIR/$DBNAME
echo 完成数据备份
3.window 自动备份数据
参考:http://lushuai1987.iteye.com/admin/blogs/1920669
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号