banner
moeyy

moeyy

一条有远大理想的咸鱼。
github
mastodon
email

Bitwarden 自動備份

利用 virmach 或其他家的垃圾小雞配上 dropbox 備份數據,好處在於成本極其低,一年甚至不到 5 刀!比沒有 80 端口的 NAS 強多了

~ 使用 bitwarden_rs 搭建並每天備份兩次到 dropbox 保證數據安全。
~ 理論上能跑 docker 就行,我搭建在 virmach 1c512mb 的小雞上

~ 搭建環境為 Centos7,只要能裝 docker 就行。
~bitwarden 的 app 和瀏覽器插件可以在對應的應用商店裡找到,自動填充非常方便。安裝後可以在設置裡填自己的域名。

然後 vi /etc/rc.d/rc.local 在最後加上
/usr/local/bin/docker-compose -f /opt/bitwarden/docker-compose.yml up -d
這樣開機就會自動啟動 bitwarden
訪問https:// 你的域名 /admin 可以進去管理面板
到這裡 bitwarden 就搭建完成可以使用了,不過個人還是建議配置數據備份。

先來個騷操作,安裝 7Z,為的是把數據加密打包然後再傳到 dropbox

wget https://astuteinternet.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.tar.bz2
tar -jxvf p7zip_16.02_src_all.tar.bz2
cd p7zip_16.02
make && make install

設置備份文件

vi /usr/local/backup/backup.sh

內容為

#!/bin/bash

#Funciont: Backup website and mysql database
#Author: licess
#Website: https://lnmp.org

Bit_name="bitwarden"
dropboxshell_dir="/usr/local/backup/dropbox_uploader.sh"
drop_dir=/${Bit_name}/$(date +"%Y%m%d%H")
password="wwwwwwww"

#IMPORTANT!!!Please Setting the following Values!
Zip_Dir="/usr/local/bin/7za"
Backup_Home="/opt/bitwarden/"
######~Set Directory you want to backup~######
Backup_Dir=("/usr/local/bitwarden")


#Values Setting END!

OldBackup=${Bit_name}$(date -d -7day +"%Y%m%d%H").7z
Old_DROPBOX_DIR=/${Bit_name}/$(date -d -30day +"%Y%m%d%H")

Backup_Dir()
{
    Backup_Path=$1
    Dir_Name=`echo ${Backup_Path##*/}`
    Pre_Dir=`echo ${Backup_Path}sed 's/'${Dir_Name}'//g'`
    tar zcf ${Backup_Home}bit-${Dir_Name}-$(date +"%Y%m%d%H").tar.gz -C ${Pre_Dir} ${Dir_Name}
}

if [ ! -f ${MySQL_Dump} ]; then  
    echo "mysqldump command not found.please check your setting."
    exit 1
fi

if [ ! -d ${Backup_Home} ]; then  
    mkdir -p ${Backup_Home}
fi


echo "Backup bitwarden files..."
for dd in ${Backup_Dir[@]};do
    Backup_Dir ${dd}
done



echo "compass with 7z..."
${Zip_Dir} a -mhe -p${password} ${Backup_Home}${Bit_name}$(date +"%Y%m%d%H").7z ${Backup_Home}bit-${Dir_Name}-$(date +"%Y%m%d%H").tar.gz
rm -rf ${Backup_Home}bit-${Dir_Name}-$(date +"%Y%m%d%H").tar.gz

echo "upload to dropbox..."
${dropboxshell_dir} upload $Backup_Home/${Bit_name}$(date +"%Y%m%d%H").7z $drop_dir/${Bit_name}$(date +"%Y%m%d%H").7z
${dropboxshell_dir} delete $Old_DROPBOX_DIR

echo "Delete old backup files..."
rm -f ${Backup_Home}${OldBackup}

password 這裡填你想設置的壓縮包密碼。

需要註冊 dropbox(需要 f~q)驗證郵箱後,進入https://www.dropbox.com/developers/apps 建立一個 app 並生成密鑰

運行 dropbox_uploader.sh 後將密鑰填進去
運行一次 backup.sh 是為了測試備份是否有效

最後 crontab 添加定時任務
0 13 * * * /usr/local/backup/backup.sh
0 22 * * * /usr/local/backup/backup.sh
在每天 13 點和 22 點備份到 dropbox

來自 MJJJ 大佬:@mmmmmiku

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。