Bitwarden 自动备份

发布于 2020-01-03  3,721 次阅读


Bitwarden 自动备份

利用virmach或者其他家的垃圾小鸡配上dropbox备份数据,好处在于成本极其低,一年甚至不到5刀!比没有80端口的NAS强多了

~使用bitwarden_rs搭建并每天备份两次到dropbox保证数据安全。
~理论上能跑docker就行,我搭建在virmach 1c512mb的小鸡上

教程地址:https://www.moec.top/archives/231

~搭建环境为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

设置备份文件

mkdir /usr/local/backup
cd /usr/local/backup
wget https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh
chmod +x backup.sh dropbox_uploader.sh
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="laoxong!"

#IMPORTANT!!!Please Setting the following Values!
Zip_Dir="/usr/local/bin/7za"
Backup_Home="/usr/local/backup/"
######~Set Directory you want to backup~######
Backup_Dir=("/opt/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