Linux下對檔案進行加密備份的操作記錄

散盡浮華發表於2018-02-24

 

由於公司之前在阿里雲上購買了一些機器,後續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

相關文章