mysql小脚本

常用脚本

1)备份数据库

#!/bin/bash
#每周一全量备份数据库 
#DB1
mysqldump -hip eduyun -u用户 -p密码 >eduyun`date +%Y-%m-%d-%H:%M:%S`.sql
mysqldump -hip eduyuntk -u用户 -p密码 >eduyuntk`date +%Y-%m-%d-%H:%M:%S`.sql
mysqldump -hip tk -u用户 -p密码 >tk`date +%Y-%m-%d-%H:%M:%S`.sql

#打包
tar cvf /opt/mysqlback`date +%Y-%m-%d-%H:%M:%S`.tar.gz /opt/mysqlback
#定期删除
rm -rf /opt/mysqlback/*
mv /opt/mysqlback*.tar.gz /opt/mysql.tar.gz
#删除大于7天的 
find /opt/mysql.tar.gz/ -mtime +7 -exec rm -rf {} ;

1)多个数据库登陆脚本

#!/bin/bash
#
db1() {
mysql -hip eduyun -u用户 -p}

db2() {

mysql -hip eduyun -u用户 -p密码 
}
db3() {
mysql -hip eduyun -u用户 -p密码 
}
case "$1" in
db1) db1
;;
db2) db2
;;
db3) db3
;;
esac

登陆时候sh mysql.sh db1 或db2或db3登陆对应数据库

Mongodb备份脚本

#!/bin/sh
DUMP=/data/edus/Mongodb/bin/mongodump #mongodump备份文件执行路径
OUT_DIR=/data/backup/mongodb/mongod_bak_now #临时备份目录
TAR_DIR=/data/backup/mongodb/mongod_bak_list #备份存放路径
DATE=`date +%Y_%m_%d` #获取当前系统时间
DB_USER=admin
DB_PASS=bjkw@2016
DAYS=30 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
TAR_BAK="mongod_bak_$DATE.tar.gz" #最终保存的数据库备份文件名
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP --port 2717 --authenticationDatabase admin -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE #备份全部数据库
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE #压缩为.tar.gz格式
find $TAR_DIR/ -mtime +$DAYS -delete #删除7天前的备份文件

曾经在幽幽暗暗反反复复中追问 才知道平平淡淡从从容容才是真
原文地址:https://www.cnblogs.com/donghui521/p/9717059.html