linux下备份数据库脚本

#!/bin/bash
DBBACKDIR="/home/oracle/fm/fm_backup" 
#数据库数据本机存放位置,根据情况自行修改
LOGDIR="/home/oracle/fm/fm_backup/LOG.txt" 
#简单日志输出
#检查备份目录是否存在和是否有读写权限
if [ -f "$LOGDIR" ]; then 
#检查日志输出文件
chmod a+w $LOGDIR #设置读写权限
else
touch $LOGDIR
chmod a+w
$LOGDIR
fi

if [ -a "$DBBACKDIR" ]; then #检查数据库备份目录
chmod a+w $DBBACKDIR
#设置权限
else
mkdir -p $DBBACKDIR
chmod a+w $DBBACKDIR
fi

#动态生成当前日期,作为备份文件名中一部分以区分文件
year=`date +%Y`
month=`date +%m`

day=`date +%d`
now=`date +%Y-%m-%d` #获取系统时间

#############备份数据库################
echo "Database backup starts
......" >> $LOGDIR #写日志
cd $DBBACKDIR
su -l oracle -c "exp fmtest/[email protected]
file= $DBBACKDIR/fmwork_cdb_$now.dmp log= $DBBACKDIR/fmwork_$now.log
owner=fmtest statistics=none"   #切换到oracle用户,导出数据库
gzip
$DBBACKDIR/fmwork_cdb_$now.dmp  #压缩打包数据库备份
find $DBBACKDIR -mtime +7
-type f -name "fmwork*" -exec rm  {} \;  #删除7天以上的数据库备份数据
echo
"Database backup end!" >> $LOGDIR #写日志
echo "############### END
################" >> $LOGDIR
echo
"             
" >> $LOGDIR

时间: 2024-08-08 11:36:00

linux下备份数据库脚本的相关文章

sqlserver for linux自动备份数据库脚本

不多说直接上脚本 #/bin/bash user=multiverse passwd=Multiverse1113 back_path=/var/opt/backup/ db_name=multiverse back_time=`date +%Y%m%d_%H%M%S` back_filename=$back_path$db_name$back_time del_time=`date -d "2 day ago" +"%Y%m%d"` del_backfile=$b

linux下备份日志脚本

#vim /root/baklog.sh ---------------------------------------------------------------------------- !# /bin/bash riqi=`date +%F` tar zcvf /opt/log-$riqi.tar.gz /var/log/* ---------------------------------------------------------------------------- #chm

Linux下定时执行脚本(转自Decode360)

文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog  老师(业精于勤而荒于嬉 QQ:150355677 MSN:[email protected]) 菜鸟表示不会写shell脚本,但还是能够看懂的,昨天因为传了太多数据,结果namenode进入了safe mode,然后小伙伴赶紧就暂停了每天早晨4点自动执行的数据合并压缩和传输的脚本,今天我自己准备改,才发现这篇博文. 先说说

MySQL备份数据库脚本

Windows @echo offmysqldump --add-drop-database --add-drop-table -u root -p123456 dbname > d:\db_backup\%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%_dbname.sql Linux #!/bin/shcd /usr/binDATE=`date +%Y-%m-%d`# 备份dbname数据库/usr

linux下mysql数据库主从同步配置

说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作 备注: 作为主从服务器的MySQL版本建议使用同一版本! 或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本! 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接

Linux 下,mysql数据库报无法登陆错误:ERROR 1045 (28000): Access denied for use

今天在别人的服务器上登录mysql发现无法登陆(Mysql别人实现安装好的) 密码和用户名都是正确的,但登录后报如下错误: ERROR 1045 (28000): Access denied for user ‘admin’@'localhost’ (using password: YES) 尝试了加入-h和-port也无法登陆,最后只能重新修改了.注--该方法也可以用于当忘记数据库密码时,找回数据库密码用 如下是我执行过程,完全执行后,可以顺利登录数据库:linux下的执行脚本: Java代码

linux 下shell 编写脚本

linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个脚本,给定一个正整数,反序输出这个这个数. 例如:程序输入123,那么应该输出321. 3.Linux命令+shell编程:编写一个程序,实现定时文件备份的功能. 要求: 1.备份某个目录下的所有文件 2.对备份文件进行压缩 3.生成合理的日志文件 4.Shell下的gui(libnotify-bi

Linux下Mongodb数据库主从同步配置

说明: 有两台已经安装完成的Mongodb数据库服务器,现在需要把一台设置为主库,另一台设置为从库,实现主从同步. 操作系统:CentOS 7.0 64位 MongoDB数据库版本:mongodb-linux-x86_64-2.6.5 准备工作:MongoDB数据库安装 具体操作: 一.配置MongoDB主库 以下操作在MongoDB主库服务器上进行 1.cd  /usr/local/mongodb/ #进入MongoDB安装目录 vi /usr/local/mongodb/mongodb.co

MySQL在Windows和Linux下还原数据库

Linux下还原数据库代码: 1,创建一个空的数据库cddl mysql> create database cddl; Query OK, 1 row affected (0.00 sec) 2,还原数据库 [[email protected] mysqlsoftware]# cd /etc/rc.d/init.d [[email protected] mysqlsoftware]# cd /etc/rc.d/init.d [[email protected] init.d]# mysql -h