linux中資料庫定時備份指令碼

2021-09-23 07:56:00 字數 1830 閱讀 4339

backdir:我們的備份的檔案放的位置

logfile:備份成功或者失敗的日誌

database:資料庫名稱

databaseuser:資料庫使用者名稱

databasepwd:資料庫密碼

指令碼如下

export lang=en_us.utf-8

#注意:下面這幾個變數需修改為你自己的

backdir=/home/backup

logfile=/home/backup/bak.log

database=user

databaseuser=root

databasepwd=pwd

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

mkdir $backdir

fiif [ ! -f "$logfile" ]; then

touch "$logfile"

fidate=`date +%y%m%d_%h%m%s`

begin=`date +%y%m%d_%h:%m:%s`

#到備份目錄下

cd $backdir

#設定匯出指令碼名稱

dumpfile=databasenme_$date.sql

#設定壓縮包名稱

dumpfilezip=database_$date.sql.tgz

#匯出資料庫資料

mysqldump -u$databaseuser -p$databasepwd $database > $dumpfile

#壓縮sql指令碼

tar -czvf $dumpfilezip $dumpfile

#刪除sql指令碼

rm $dumpfile

#下面這一段是保留最近7天的資料

count=$(ls -l *.tgz |wc -l)

if [ $count -ge 8 ]

then

file=$(ls -l *.tgz |awk ''|awk 'nr==1')

rm -f $file

filast=`date +"%y%m%d_%h:%m:%s"`

echo start:$begin end:$last $dumpfilezip succ >> $logfile

0    0   *   *   *   /root/test.sh

#分 時 日 月 周 |《**********====命令列********************===》|

1.mysqldump: command not found

這是因為在安裝mysql的時候,並沒有將mysql的bin配置到系統的環境變數中

vim /etc/profile
設定環境變數:

寫乙個mysql_home,值為「mysql的安裝路徑」

在path後面加上$mysql_home/bin

export後面加上mysql_home

將mysql加入到系統的環境變數後這個問題就搞定了,以後在任何目錄也都可以連線mysql

windows下上傳shell指令碼至linux,其格式將為dos。dos模式的shell指令碼將不能再linux下正確執行,需要修改檔案

Linux定時備份MySQL資料庫指令碼

之前記錄下了window系統備份遠端mysql資料庫的定時備份指令碼 想要了解的可以去看看 windows壓縮備份mysql資料庫 linux系統的忘記記錄了。這次把它也儲存下來。指令碼內容非常簡單,主要是利用mysql的備份系統來做這件事。bin bash mysqldump hlocalhost...

linux定時備份資料庫指令碼

bin bash mysql使用者資訊 hostname user userpwd dbnames db1 db2 db3 date date y m d h m s 日期格式 作為檔名 date date d now y m d h m s archive date.tar.gz backup d...

linux下指令碼定時備份資料庫

原文 一 常用的命令如下 1 編輯乙個新的crontab任務 crontab e 2 檢視編寫後的crontab任務 crontab l 3 重啟contab任務服務 service crond restart 4 檢視contab任務狀態 service crond status 5 重新載入配置...