mysql備份資料庫指令碼

2021-10-23 06:04:19 字數 1687 閱讀 9878

需求:要求每天凌晨3點自動備份資料庫,檔案命名格式為db_備份時間,要求以壓縮包形式存在伺服器中

在伺服器上新建乙個指令碼 backupshell.sh

#!/bin/sh

#database info

db_user=

"使用者名稱"

db_pass=

"資料庫密碼"

db_host=

"localhost"

db_name=

"要備份的資料庫名字"

#other vars

bin_dir=

"mysql的bin路徑"

#the mysql bin path

bck_dir=

"需要備份在哪個資料夾"

#the backup file directory

date=

`date +%f`

#file name by date

#todo

#$bin_dir/mysqldump --opt -u$db_user -p$db_pass -h$db_host $db_name > $bck_dir/db_$date.sql

$bin_dir/mysqldump --opt -u$db_user -p$db_pass -h$db_host

$db_name --skip-lock-tables |

gzip

>

$bck_dir/db_$date.sql.gz

設定定時任務

crontab: 定時任務的守護程序

常見命令引數

usage:  crontab

[-u user]

file

crontab

[-u user]

[ -e | -l | -r ]

(default operation is replace, per 1003.2)

-e (edit user's crontab)

-l (list user's crontab)

-r (delete user's crontab)

-i (prompt before deleting user's crontab)

-s (selinux context)

命令構成
crontab的命令構成為 時間+動作,其時間有分、時、日、月、周五種,操作符有

* 取值範圍內的所有數字

/ 每過多少個數字

- 從x到z

,雜湊數字

例項1:每1分鐘執行一次mycommand

* * * * * mycommand

例項2:每小時的第3和第15分鐘執行

3,15 * * * * mycommand

例項3:在上午8點到11點的第3和第15分鐘執行

3,15 8-11 * * * mycommand

編輯定時任務 crontab -e

00 03 *  * * /bin/sh 指令碼路徑/backupshell.sh
可以用 crontab -l 檢視定時任務

****************************************====

更多命令構成例項可以檢視下方鏈結進行了解

mysql 備份資料庫指令碼

一段常用db備份指令碼 1 bin bash 2 create by yunfei.heyf 3 program for backup mysql with mysqldump 4 5 6 bakdir home admin backup 7 dumpcmd usr bin mysqldump ur...

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

資料庫匯出,主要用到mysqldump 命令 mysqldump h db host u db user p db user passwd dbname todaybackuppath dbname sql 具體指令碼如下 db host localhost db user root db user...

mysql備份資料庫

一般伺服器上沒有分使用者的時候mysql使用者名稱可以用 root 得到最高許可權.ubuntu下使用mysql命令匯入 匯出 sql檔案 redhat的mysql命令在 usr local mysql bin 目錄下面 匯出 1.匯出整個資料庫 mysqldump u 使用者名稱 p密碼 資料庫名...