linux 建立shell 備份mysql資料庫

2021-09-05 11:43:06 字數 1449 閱讀 7110

linux 備份mysql資料庫

建立目錄

mkdir backup

cd backup

vi bkdatabasename.sh

第一種本機備份方式

#!/bin/bash

mysqldump db3 | gzip > /root/backup/databasename_$(date +%y%m%d_%h%m%s).sql.gz

第二種通過ip備份方式

#!/bin/bash

#完成資料庫的定時備份。

#備份的路徑

backup=/data/backup/db

#當前的時間作為檔名

datetime=$(date +%y_%m_%d_%h%m%s)

#可以輸出變數除錯

#echo $

echo "*****==開始備份*****==="

echo "*****==備份的路徑是 $backup/$datetime.tar.gz"

#主機host=localhost

#使用者名稱

db_user=root

#密碼db_pwd=root

#備份資料庫名

database=atguigudb

#建立備份的路徑

#如果備份的路徑資料夾存在,就使用,否則就建立

[ ! -d "$backup/$datetime" ] && mkdir -p "$backup/$datetime"

#執行mysql的備份資料庫的指令

mysqldump -u$ -p$ --host=$host  $database | gzip > $backup/$datetime/$datetime.sql.gz

#打包備份檔案

cd $backup

tar -zcvf $datetime.tar.gz $datetime

#刪除臨時目錄

rm -rf $backup/$datetime

#刪除10天前的備份檔案

find $backup -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;

echo "*****備份檔案成功**********="

chmod u+x bkdatabasename.sh

編輯檔案 vi /etc/my.cnf

最後追加

[mysqldump]

user=root

password=root

crontab -e

新增0 0 1 * * /root/backup/bkdatabasename.sh

每天凌晨1點執行一次

gunzip 解壓檔名

linux系統oracle備份shell指令碼

bin sh 以上 為oracle資料庫執行賬號oracle的系統環境變數設定,必須新增,否則crontab任務計畫不能執行。oracle使用者的系統環境變數路徑 home oracle bash profile 獲取系統當前日期時間 date date y m d 設定刪除7天之前的備份檔案 da...

linux下mysql冷備份shell指令碼

usr bin env bash 資料庫基礎資訊 db host 127.0.0.1 本機 db name 1 要備份的庫名 db user root 使用者名稱 db pass root 密碼 date date y m d h m s mysql path data mysql bak 備份路徑...

shell了解MySQL shell操作mysql

首先安裝mysql,yum install mysql 在做一些日常的運維工作的時候,經常需要些一些shell指令碼進行裝置效能以及其它引數的監控。在過去的一年工作中,接觸到的比較多的是對資料庫中某些資訊的監控。於是就想到了用shell mysql crontab進行實現。下面附上通過shell命令...