MySQL資料庫備份指令碼

2021-07-24 20:57:15 字數 1498 閱讀 7446

1.指令碼內容

單獨的指令碼

#!/bin/sh

if [ $# != 4 ]; then

echo "usage: $0 db_host db_user db_pwd db_name"

exit

fiprefix=`date +"%y%m%d%h%m%s"`

filepath="/root/dbbackup/"`date +"%y%m"`/"$4"/"$prefix"/

if [ ! -d "$filepath" ]; then

mkdir -p "$filepath"

fidbfile="$prefix"_"$4".sql

mysqldump -h $1 -u$2 -p$3 $4 > "$filepath""$dbfile"

cd "$filepath"..

tar czf "$prefix".tar.gz "$prefix"/  --remove-files

all指令碼

#!/bin/sh

prefix=`date +"%y%m%d%h%m%s"`

filepath="/root/dbbackup/"`date +"%y%m"`"/all/""$prefix"/

if [ ! -d "$filepath" ]; then

mkdir -p "$filepath"

fidb1="$prefix"_db1.sql

db2="$prefix"_db2.sql

mysqldump -h 10.2.176.129 -ufhdev -p#=f0kyiquk db1 > "$filepath""$db1"

mysqldump -h 10.2.176.129 -ufhdev -p#=f0kyiquk db2 > "$filepath""$db2"

cd "$filepath"..

tar czf "$prefix".tar.gz "$prefix"/ --remove-files

還可以使用

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

2.crontab 任務

# 分 時 日 月 周 命令

30 0 * * 0-4 /root/dbbackup/dbbk_all.sh > /dev/null 2>&1

30 7,12,15,18 * * 1-5 /root/dbbackup/dbbk_single.sh db_host db_user "passwd" db2 > /dev/null 2>&1

周一到周五,每天晚上12:30全部備份

周一到周五,每天7:30, 12:30, 15:30, 18:30 啟動任務單獨備份某個庫

mysql資料庫備份指令碼

第一步 編寫資料庫備份指令碼database mysql shell.sh bin bash date date y m d h m every minute database springboot admin database name db username root database user...

備份MySQL資料庫指令碼

備份mysql資料庫中 mysql 庫 規定每週日24點備份 root mysql vim root mysqldump.sh bin bash backup database mysql owner weijia date 2019 04 13 mysql user root 登入使用者 mysq...

mysql資料庫備份指令碼

通過定時任務對mysql進行備份 1,假設每週備份一次,刪除2週前的備份,指令碼如下 vi mysql back.sh bin bash mysql備份指令碼,每週日備份一次,刪除2週前備份 backdir backupdir home mysql dback mysqldump mysqldump...