还算比较完善的 Linux 服务器自动备份、上传脚本

脚本托管于gist,点击查看

由于内嵌会导致一定程度的网页加载阻塞,故此处内嵌并非实时版本。

#!/bin/bash
Err() { echo -ne "\e[1;31m"; Log "$@" 1>&2; echo -ne "\e[0m";}
Log() { echo $(date +"[%Y-%m-%d %H:%M:%S]") $@; }
Log ====每日备份脚本开始运行====
UPLOADER_BIN="/root/auto-scripts/bpcs_uploader/bpcs" #bpcs 上传脚本路径(见下方bpcs文件)
REMOTE_DIR=$(date +"%Y%m")/$(date +"%Y%m%d") # 远端上传路径
WORKING_DIR="/root/auto-scripts/backup_daily" # 工作路径
CONFIG_DIR=$WORKING_DIR/list.d #配置文件路径
BACKUP_DIR=$WORKING_DIR/backups #本地备份路径
CURRENT_DIR=$BACKUP_DIR/$(date +"%Y%m%d")
OLD_DIR=$BACKUP_DIR/$(date -d -3day +"%Y%m%d")
zipPassword=ChangeThePasswordToYourOwn #备份密码
#准备删除老文件
Log 删除旧备份文件夹:$OLD_DIR
rm -rf $OLD_DIR
#创建新目录
mkdir -p $CURRENT_DIR
#遍历配置目录,进行备份
for i in $(ls $CONFIG_DIR)
do
zipExclude="*/cache/* */tmp/* */temp/* */.npm/* */data/threadcache/*"
. $CONFIG_DIR/$i
Log 备份$backupDir$i……
backupFile=$i.zip
zip -r -P $zipPassword $CURRENT_DIR/$backupFile $backupDir -x $zipExclude
Log 上传备份……
$UPLOADER_BIN upload $CURRENT_DIR/$backupFile $REMOTE_DIR/$backupFile
done
Log 备份完成!

用法懒的写,自己研究!

依赖:bpcs_uploader,以及 zip 。yum install zip

评论

猫先生

呃,亲。。请教一下,我找到了free号123上的教程,按照教程走了两遍,可是有很大的出入,不知道是百度更新了还是bpcs_uploader的问题…问题1: 第一遍安装的时候,用的快速初始化,确认授权码之后, ssh直接就显示出了剩余容量,enjoy it 什么的…并没有提示输入API什么的, 第二遍安装的时候,开始正常初始化,能提示输入API,但是并没有进行到Oauth 2.0授权,….测试上传也是提示API CALLING FAILD….

猫先生

问题2:….百度现在在哪里创建应用? 应用目录那里完全不知道写什么啊…

「三三」。

bpcs_uploader 早已不再维护。你提到的问题,直接显示出容量是十分正确的结果。请参考 bpcs_uploader 附带的 README。

猫先生

呃,可以上传啦~ 非常感谢~~ 还有个问题。。这个脚本怎么能做到只备份增量数据呢。。。

发表评论

发表评论代表你授权本网站存储并在必要情况下使用你输入的邮箱地址、连接本站服务器使用的 IP 地址和用户代理字符串 (User Agent) 用于发送评论回复邮件,以及将上述信息分享给 Libravatar Akismet,用于显示头像和反垃圾。