脚本托管于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