Shell腳本是咱們寫不一樣類型命令的一種腳本,這些命令在這一個文件中就能夠執行。咱們也能夠逐一敲入命令手動執行。若是咱們要使用shell腳本就必須在一開始把這些命令寫到一個文本文件中,之後就能夠隨意反覆運行這些命令了。html
我首先要在本文帶給你的是完整腳本。後面會對該腳本作說明。我假定你已經知道shell scripting、 mysqldump和crontab。mysql
適用操做系統:任何Linux或UNIX。sql
主腳本(用於備份mysql數據庫):shell
該Shell腳本能夠自動備份數據庫。只要複製粘貼本腳本到文本編輯器中,輸入數據庫用戶名、密碼以及數據庫名便可。我備份數據庫使用的是mysqlump 命令。後面會對每行腳本命令進行說明。數據庫
1. 分別創建目錄「backup」和「oldbackup」bash
#mkdir /backup #mkdir /oldbackup
這裏我用的是 vi編輯器
# vi /backup/backup.sh
#!bin/bash cd /backup echo 「You are In Backup Directory」 mv backup* /oldbackup echo 「Old Databases are Moved to oldbackup folder」 Now=$(date +」%d-%m-%Y--%H:%M:%S」) File=backup-$Now.sql mysqldump –u user-name –p ‘password’ database-name > $File echo 「Your Database Backup Successfully Completed」
切記,在第8行命令中,在mysqldump命令後要輸入本身的數據庫用戶名、密碼及數據庫名。spa
執行該腳本,首先會進入 /backup 目錄,而後該腳本會把原有的舊數據庫備份移動到 /oldbackup 文件夾中,接着根據系統的日期及時間生成一個文件名,在最後 mysqldump 命令會生成一個「.sql」格式的數據庫備份文件。操作系統
3. 設置 backup.sh 腳本文件的可執行許可code
# chmod +x /backup/backup.sh
#./backup.sh
root@Server1:/download#./backup.sh
You areinDownload Directory
Old Backup DatabaseisMoved to oldbackup folder
database backup successful completed
root@Server1:/download#
5. 使用cron制訂備份計劃
使用Cron能夠定時執行該腳本,備份會自動完成。使用 crontab 命令編輯cron 執行的計劃任務。
#crontab –e
013* * * * /backup/backup.sh
對初學者而言,這是很是基礎的腳本。但願你能觸類旁通寫出更復雜的備份腳本。咱們會努力提供更自動化的新腳本。請你們不吝賜教,咱們會盡力解決大家的問題。感謝與咱們相伴。