有久以前CSDN 發生使用者“帳號密碼泄露”事件,如果他們09年的備份檔案進行了加密,我想損失也不會這麼慘重了。所以我們對資料庫進行備份的時候,也需要對備份檔案進行加密,以往萬一。下面就是對mysql進行備份並進行加密的指令碼。
| 代碼如下 |
複製代碼 |
#!/bin/sh #mysqlbackup #加密的密碼 encryptPasswd="123456" cd /usr/local/mysql/bin ./mysqldump --opt -uroot -p'123444' dbname |gzip -9 >/usr/local/mysqlbackup/db-`date +"%Y-%m-%d_%H-%M"`.gz cd /usr/local/mysqlbackup echo ${encryptPasswd} | gpg --yes -c --passphrase-fd 0 db-`date +"%Y-%m-%d_%H-*"`.gz #刪除源檔案 rm -rf db-`date +"%Y-%m-%d_%H-*"`.gz #刪除20天前的備份 find /usr/local/mysqlbackup -mtime +20 -name "*.gz" -exec rm -rf {} ; |
解密檔案 gpg db-backup.gz.gpg 然後輸入密碼即可。
在 Linux 下,用GPG命令就可以實現檔案的加密和解密,而且GPG基本上每個發行版都會預裝。
假如你要加密的檔案名稱為 diary.txt ,只需輸入:
| 代碼如下 |
複製代碼 |
gpg -c diary.txt |
會自動彈出對話方塊詢問加密密碼:
經過兩次輸入密碼確定,就會在目錄下產生 diary.txt.gpg,這個就是加密後的檔案,不要忘記把原檔案刪掉哦~
解密的話,輸入:
| 代碼如下 |
複製代碼 |
gpg diary.txt.gpg |
輸入正確的密碼,diary.txt 就會在目前的目錄下重建。
如對檔案z1使用AES256演算法加密的命令是:
| 代碼如下 |
複製代碼 |
| #gpg --cipher-algo AES256 -c z1.txt |