有久以前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