一个备份MySQL数据库的简单Shell脚本(转)
Shell腳本是我們寫不同類型命令的一種腳本,這些命令在這一個文件中就可以執行。我們也可以逐一敲入命令手動執行。如果我們要使用shell腳本就必須在一開始把這些命令寫到一個文本文件中,以后就可以隨意反復運行這些命令了。
我首先要在本文帶給你的是完整腳本。后面會對該腳本做說明。我假定你已經知道shell scripting、?mysqldump和crontab。
適用操作系統:任何Linux或UNIX。
主腳本(用于備份mysql數據庫):
該Shell腳本可以自動備份數據庫。只要復制粘貼本腳本到文本編輯器中,輸入數據庫用戶名、密碼以及數據庫名即可。我備份數據庫使用的是mysqlump?命令。后面會對每行腳本命令進行說明。
1. 分別建立目錄“backup”和“oldbackup”
| 1 2 | #mkdir /backup #mkdir /oldbackup |
2. 現在使用你喜歡的編輯軟件創建并編輯“backup.sh”
這里我用的是 vi
| 1 | # vi /backup/backup.sh |
現在把以下幾行命令輸入到 backup.sh 文件中:
| 1 2 3 4 5 6 7 8 9 | #!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命令后要輸入自己的數據庫用戶名、密碼及數據庫名。
執行該腳本,首先會進入?/backup?目錄,然后該腳本會把原有的舊數據庫備份移動到?/oldbackup?文件夾中,接著根據系統的日期及時間生成一個文件名,在最后?mysqldump?命令會生成一個“.sql”格式的數據庫備份文件。
3. 設置 backup.sh 腳本文件的可執行許可
| 1 | # chmod +x /backup/backup.sh |
4. 執行腳本
| 1 | #./backup.sh |
腳本運行結束后會得到以下輸入。
| 1 2 3 4 5 | root@Server1:/download#./backup.sh You areinDownload Directory Old Backup DatabaseisMoved to oldbackup folder database backup successful completed root@Server1:/download# |
注:首次執行該腳本會有一個“no such file”的提示信息,這是由于舊備份文件還不存在。只要再次執行該腳本就沒有問題了,這個問題已經不存在了。
5. 使用cron制訂備份計劃
使用Cron可以定時執行該腳本,備份會自動完成。使用?crontab?命令編輯cron 執行的計劃任務。
| 1 | #crontab –e |
只要在編輯器上加入下面這一行代碼保存即可。
| 1 | 013* * * * /backup/backup.sh |
本任務表示的是在每天下午1點鐘把數據庫備份到指定的文件夾。有關cron任務設置的詳細內容可以查閱crontab手冊。
對初學者而言,這是非常基礎的腳本。希望你能舉一反三寫出更復雜的備份腳本。我們會努力提供更自動化的新腳本。請大家不吝賜教,我們會盡力解決你們的問題。感謝與我們相伴。
轉載于:https://www.cnblogs.com/xingmeng/p/3242161.html
總結
以上是生活随笔為你收集整理的一个备份MySQL数据库的简单Shell脚本(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中OpenFlashChart使用
- 下一篇: windows server 2008R