Linux下对文件进行加密备份的操作记录
由于公司之前在阿里云上购买了一些机器,后续IDC建设好后,又将线上业务从阿里云上迁移到IDC机器上了,为了不浪费阿里云上的这几台机器资源,打算将这些机器做成IP SAN共享存储,然后作为IDC数据的一个备份之用。针对文件加密的方法,可以参考Linux系统下对文件进行加密解密的方法总结
1)备份的源机器是192.168.10.8,源数据路径是: [root@backup ~]# date 2018年 02月 24日 星期六 17:17:12 CST [root@backup ~]# cd /data/backup_data/ [root@backup backup_data]# ls caiwu_data zijin_data kevin [root@backup backup_data]# ll caiwu_data/DBA_bak/ 总用量 272 drwxr-xr-x 2 oracle oracle 4096 2月 22 01:25 20180222_0122 drwxr-xr-x 2 oracle oracle 4096 2月 23 01:25 20180223_0122 drwxr-xr-x 2 oracle oracle 4096 2月 24 01:25 20180224_0122 [root@backup backup_data]# ll zijin_data/DBA_bak/ 总用量 272 drwxr-xr-x 2 oracle oracle 4096 2月 22 01:34 20180222_0133 drwxr-xr-x 2 oracle oracle 4096 2月 23 01:34 20180223_0133 drwxr-xr-x 2 oracle oracle 4096 2月 24 01:34 20180224_0133 [root@backup backup_data]# ll kevin/DBA_bak/ 总用量 458672 -rw-r--r-- 1 root root 10340400 2月 21 23:31 20180221_2330.tar.gz -rw-r--r-- 1 root root 10392052 2月 22 23:31 20180222_2330.tar.gz -rw-r--r-- 1 root root 10445089 2月 23 23:31 20180223_2330.tar.gz 2)备份到阿里云上的机器是16.26.127.142,备份到目标机器的数据路径是: [root@ipsan-node06 ~]# cd /backup/ [root@ipsan-node06 backup]# ls caiwu_data zijin_data kevin 3)在192.168.10.8机器上做到阿里云机器16.26.127.142的ssh无密码登陆的信任关系 [root@backup ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub '-p22 root@16.26.127.142' 4)在192.168.10.8机器上的备份脚本如下(采用加密备份方式,先备份,然后加密压缩,然后删除备份过去并压缩前的源文件)(由于备份的数据比较大,可以将下面分成三个备份脚本并行执行) [root@backup ~]# cat /data/script/backup_aliyun_rsync.sh #!/bin/bash #财务数据库数据加密备份到阿里云机器上 /usr/bin/rsync -e "ssh -p22" -avpgolr /data/backup_data/caiwu_data/DBA_bak/`date +%Y%m%d`* root@16.26.127.142:/backup/caiwu_data/ /usr/bin/ssh -p22 root@16.26.127.142 "/usr/bin/tar -zcf - /backup/caiwu_data/`date +%Y%m%d`* |/usr/bin/openssl des3 -salt -k 123@123 | dd of=/backup/caiwu_data/`date +%Y%m%d`.des3" /usr/bin/ssh -p22 root@16.26.127.142 "rm -rf /backup/caiwu_data/`date +%Y%m%d`_*" #资金数据库数据加密备份到阿里云机器上 /usr/bin/rsync -e "ssh -p22" -avpgolr /data/backup_data/zijin_data/DBA_bak/`date +%Y%m%d`* root@16.26.127.142:/backup/zijin_data/ /usr/bin/ssh -p22 root@16.26.127.142 "/usr/bin/tar -zcf - /backup/zijin_data/`date +%Y%m%d`* |/usr/bin/openssl des3 -salt -k 123@123 | dd of=/backup/zijin_data/`date +%Y%m%d`.des3" /usr/bin/ssh -p22 root@16.26.127.142 "rm -rf /backup/zijin_data/`date +%Y%m%d`_*" #kevin数据库数据加密备份到阿里云机器上 /usr/bin/rsync -e "ssh -p22" -avpgolr /data/backup_data/kevin/DBA_bak/`date -d "1 day ago" +%Y%m%d`*.tar.gz root@16.26.127.142:/backup/kevin/ /usr/bin/ssh -p22 root@16.26.127.142 "/usr/bin/tar -zcf - /backup/kevin/`date -d "1 day ago" +%Y%m%d`*.tar.gz |/usr/bin/openssl des3 -salt -k 123@123 | dd of=/backup/kevin/`date -d "1 day ago" +%Y%m%d`.des3" /usr/bin/ssh -p22 root@16.26.127.142 "rm -rf /backup/kevin/`date -d "1 day ago" +%Y%m%d`*.tar.gz" 5)在192.168.10.8机器上设定每周日定时执行备份脚本 [root@backup ~]# crontab -l # 每周日的凌晨1点定时加密备份数据库数据到阿里云备份服务器上 0 1 * * 0 /bin/bash -x /data/script/backup_aliyun_rsync.sh > /dev/null 2>&1
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************