伺服器文件備份到本地「mysql每天自動備份腳本」

很多人會問為什麼要使用Svn或者是Git,那麼我會問:我相信你寫的代碼很好,但是有一天你修改了很多很多的Bug,但是突然想到以前的代碼中有一個比較重要的演算法你不小心覆蓋掉了,這時候你應該怎麼辦?

或許你會告訴我你可以在修改這些代碼之前備份一次當前修改的文件,或者是當前項目。

但是時間久了你的機器上會有多少備份文件呢?

如果有一天你的同事需要回滾到之前的代碼看一下那時候Bug的原因,你會從你的機器上找到指定時間的文件發給他嘛?

當然不是,我們有Svn或者是Git之後我們可以方便的看到文件之前的版本,還可以方便的對比。那麼現在清楚了版本控制的重要性了。

同樣資料庫也是這樣,我們的系統99%都離不開資料庫,因為我們總要把數據存儲起來。

那如果我們資料庫被誤刪、被黑客入侵、被惡意修改怎麼辦?

那麼我們可以試著讓我們的伺服器自動來幫我們備份資料庫的數據到指定位置,萬一有一天我們的資料庫不小心手抖了,我們還可以用備份下來的資料庫腳本直接恢復。

上腳本:

# db username

db_user=”test”

# db password

db_passwd=”test”

# db host

db_host=”121.201.5.216″

# backup db name

db_name=”Alterem”

# the directory for story your backup file.

backup_dir=”backup” cd

# date format for backup file (dd-mm-yyyy)

time=”$(date +”%Y-%m-%d-%H-%M-%S”)”

# mysql, mysqldump and some other bin’s path

MYSQL=”/usr/local/mysql/bin/mysql”

MYSQLDUMP=”/usr/local/mysql/bin/mysqldump”

GZIP=”/bin/gzip”

$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > “/data/backup/$backup_dir/$db_name”_”$time.gz”

創建定時器

crontab -e

添加定時器

# 每天凌晨 1 點 30 分 進行數據備份

30 1 * * * /root/mysql-backup.sh

重啟定時器

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

cron解析

# For details see man 4 crontabs

# Example of job definition:

# .—————- minute (0 – 59)

# | .————- hour (0 – 23)

# | | .———- day of month (1 – 31)

# | | | .——- month (1 – 12) OR jan,feb,mar,apr …

# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/208817.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-08 15:20
下一篇 2024-12-08 15:21

相關推薦

發表回復

登錄後才能評論