定時備份mysql指令碼 每天自動備份mysql指令碼

2021-10-17 12:34:40 字數 1642 閱讀 2074

下面是程式設計之家 jb51.cc 通過網路收集整理的**片段。

1、執行

crontab -e

00 00 * * * /bin/bash yourpath/mysqlbak.sh

2、開啟自動執行檔案

vi /etc/crontab

在etc中加入如下內容,讓其自動執行任務。

00 00 * * * root /mysqlbak.sh

以上兩個 00 00 * * * 為每天的凌晨自動執行指令碼

分 時 日 月 周 命令

m: 分鐘(0-59)。每分鐘用*或者 */1表示

h:小時(0-23)。(0表示0點)

d:天(1-31)。

m: 月(1-12)。

d: 一星期內的天(0~6,0為星期天)。

每五分鐘執行 */5 * * * *

每小時執行 0 * * * *

每天執行 0 0 * * *

每週執行 0 0 * * 0

每月執行 0 0 1 * *

每年執行 0 0 1 1 *

重啟cron

/etc/rc.d/init.d/crond restart

orservice crond restart

詳細請看crond的wiki

mysqlback.sh

#!/bin/bash

#功能說明:本功能用於備份資料庫

#編寫日期:2010/12/06

path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin

export path

#資料庫使用者名稱

dbuser=』root』

#資料庫密碼

dbpasswd=』123456′

#資料庫名,可以定義多個資料庫,中間以空格隔開,如:test test1 test2

dbname=』test1 test2′

#備份時間

backtime=`date +%y%m%d%h%m%s`

#日誌備份路徑

logpath=』/second/backup』

#資料備份路徑

datapath=』/second/backup』

#日誌記錄頭部

echo 『」備份時間為$,備份資料庫表 $ 開始」 >> $/mysqllog.log

#正式備份資料庫

for table in $dbname; do

source=`mysqldump -u $ -p$ $> $/$.sql` 2>> $/mysqllog.log;

#備份成功以下操作

if [ "$?" == 0 ];then

cd $datapath

#為節約硬碟空間,將資料庫壓縮

tar jcf $$.tar.bz2 $.sql > /dev/null

#刪除原始檔案,只留壓縮後檔案

rm -f $/$.sql

echo 「資料庫表 $ 備份成功!!」 >> $/mysqllog.log

else

#備份失敗則進行以下操作

echo 「資料庫表 $ 備份失敗!!」 >> $/mysqllog.log

fidone

mysql每天定時備份指令碼

bin bash 要備份的資料庫名,多個資料庫用空格分開 databases bdm0120810 db bdm0330237 db bdwsd competitive database db goldfilling hdm0110181 db publicdb sfa syb user panel...

每天自動備份mysql指令碼

1 執行 crontab e 00 00 bin bash yourpath mysqlbak.sh 2 開啟自動執行檔案 vi etc crontab 在etc中加入如下內容,讓其自動執行任務。00 00 root mysqlbak.sh 以上兩個 00 00 為每天的凌晨自動執行指令碼 分 時 ...

每天自動備份mysql指令碼

定時執行指令碼 1 執行 crontab e 00 00 bin bash yourpath mysqlbak.sh 2 開啟自動執行檔案在etc中加入如下內容,讓其自動執行任務。以上兩個 00 00 為每天的凌晨自動執行指令碼 分 時 日 月 周 命令 m 分鐘 0 59 每分鐘用 或者 1表示 ...