A-A+

mysql数据库备份并加密的备份sql脚本

2017年10月26日 PHP技术文章 暂无评论 阅读 0 views 次

现在网上大量讲述备份mysql都没有对备份数据加密了,只要拿到备份就可以直接导入了,今天我来介绍一个mysql数据库备份并加密的备份sql脚本,希望对大家有帮助.

有久以前CSDN 发生用户“帐号密码泄露”事件,如果他们09年的备份文件进行了加密,我想损失也不会这么惨重了,所以我们对数据库进行备份的时候,也需要对备份文件进行加密,以往万一,下面就是对mysql进行备份并进行加密的脚本,代码如下:

  1. #!/bin/sh   
  2. #mysqlbackup   
  3. #加密的密码   
  4. encryptPasswd="123456"   
  5. cd /usr/local/mysql/bin   
  6. ./mysqldump --opt -uroot -p'123444' dbname |gzip -9 >/usr/local/mysqlbackup/db-`date +"%Y-%m-%d_%H-%M"`.gz   
  7. cd /usr/local/mysqlbackup   
  8. echo ${encryptPasswd} | gpg --yes   -c  --passphrase-fd 0 db-`date +"%Y-%m-%d_%H-*"`.gz   
  9. #删除源文件   
  10. rm -rf db-`date +"%Y-%m-%d_%H-*"`.gz //phpfensi.com  
  11. #删除20天前的备份   
  12. 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.

标签:

给我留言