linux 下备份数据库脚本

本文介绍了一个用于数据备份的Shell脚本,该脚本能够实现包括数据库数据备份、磁带写入、文件压缩等功能。通过具体步骤展示了如何备份webdb和abcdb两个数据库的数据,并对备份文件进行压缩归档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/sh
# 文 件 名: rptsmain.sh
# 版 权: Copyright (shell) 2007-2007
# 版 本 号: V1.0
# 功能描述: 数据备份
# 创 建 人: xxxxx
# 日 期: 2007/10/26
# 修 改 人:xxxxxxx
# 日 期: 2007/10/26

#程序开始

TODAY=`date "+%Y%m%d"`
WORKDATE=$TODAY
BACKDIR='/databak/'

tput init
clear
while :
do
tput clear

echo ""
echo ""
echo ""
echo ""
echo ""
echo ""
echo ""
echo ""
echo ""
echo "
数据备份程序 V1.0

Copyright (shell)

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ 1. 开始备份数据 ┃
┃ ┃
┃ 2. 备份数据写入磁带 ┃
┃ ┃
┃ ---------------------------------- ┃
┃ ┃
┃ 0. 退出系统 ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

请选择[ ]"

read choice
case $choice in
1):
clear

echo "开始BCP数据库数据..."
DATABASEDIR=$BACKDIR/database
if [ -d $DATABASEDIR ]; then
rm -rf $DATABASEDIR/*
else
mkdir $DATABASEDIR
fi

#备份webdb数据库
mkdir $DATABASEDIR/webdb
total=`cat webdb.table|wc -l`
current=0
for table in `cat webdb.table`
do
current=$current+1
/sybase/OCS-12_5/bin/bcp webdb..$table out

$DATABASEDIR/aadb/$table.bcp -Usa -Ppwd -SServer -Jiso_1 -n -T409600
done

#备份abcdb数据库
mkdir $DATABASEDIR/abcdb
total=`cat abcdb.table|wc -l`
current=0
for table in `cat abcdb.table`
do
current=$current+1
/sybase/OCS-12_5/bin/bcp abcdb..$table out

$DATABASEDIR/bbdb/$table.bcp -Usa -Ppwd -SServer -Jiso_1 -n -T409600
done

echo "开始打包压缩数据库备份数据..."
cd $BACKDIR
tar uvf database-$WORKDATE.tar database/*

echo "正在删除临时文件..."
rm -rf $DATABASEDIR



echo "开始打包压缩数据文件..."
echo "(1)开始打包Tomcat-ABC网站数据文件..."
SOuRCEDIR='/aaaa/uploads'
cd $BACKDIR
#tar czf abc-files-$WORKDATE.tar.gz $SOuRCEDIR/ISO/*

echo "(2)开始打包Websphere经管网数据文件..."
cd $BACKDIR
#tar czf web-files-$WORKDATE.tar.gz /upload/images/807/*

echo "数据备份完成,按任意键返回..."
cd $HOME
read return
;;
2):
;;
0):
break
;;
esac
done

Linux下使用PostgreSQL备份数据库可以使用pg_dump命令来完成。pg_dump是PostgreSQL提供的备份工具,可以将数据库以SQL脚本的形式保存到本地文件中。 以下是一个备份数据库脚本示例: #!/bin/bash # 设置备份目录和时间戳 backup_dir="/var/backups/postgresql" timestamp=$(date +%Y%m%d%H%M%S) # 设置数据库连接信息 username="postgres" database="mydatabase" # 创建备份目录 mkdir -p $backup_dir # 备份数据库 pg_dump -U $username -d $database -f $backup_dir/$timestamp.sql 该脚本首先设置了备份目录和时间戳变量,用于保存备份文件。然后设置了数据库连接信息,包括用户名和数据库名。接下来使用mkdir命令创建备份目录,如果该目录不存在的话。最后使用pg_dump命令备份数据库,并将备份文件保存到指定的目录中。 可以将以上脚本保存为一个文件(例如backup.sh),并通过添加执行权限(chmod +x backup.sh)来使其可执行。然后可以通过运行./backup.sh来执行脚本,即可完成对数据库备份操作。 为了更好地保护数据库备份的安全性,可以考虑以下几点: 1. 将备份脚本的存储位置限制在只有管理员有权限的目录中。 2. 可以使用压缩命令(如gzip)对备份文件进行压缩,减小存储空间占用。 3. 定期删除旧的备份文件,以保持备份目录的整洁和存储空间的合理利用。 4. 最好将备份文件定期复制到其他地方(如远程服务器或云存储)进行冗余备份,以防止单点故障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值