You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用cron实现VPS网站按月份、周次分级目录自动备份

VPS 自动按周次分级备份脚本实现方案

一、周次逻辑说明

针对你要求的当月固定4个周次目录的需求,采用最直观的日期区间划分规则,完全匹配1-4的周次编号要求:

  • 当月1日~7日 → 周次1
  • 当月8日~14日 → 周次2
  • 当月15日~21日 → 周次3
  • 当月22日至当月最后一天 → 周次4

如果需要调整为以周一/周日为起始的自然周统计规则,只需要修改周次计算部分的逻辑即可。

二、修改后的完整备份脚本

#!/bin/bash
# 定义备份根目录,避免相对路径导致的存放错误
BACKUP_ROOT="/root/backups"
# 取当前月份全称(如November)
CUR_MONTH=$(date +%B)
# 计算对应周次
CUR_DAY=$(date +%e | xargs) # 取当日日期,xargs用于去除个位数日期前的前置空格
if [ $CUR_DAY -le 7 ]; then
    WEEK_NUM=1
elif [ $CUR_DAY -le 14 ]; then
    WEEK_NUM=2
elif [ $CUR_DAY -le 21 ]; then
    WEEK_NUM=3
else
    WEEK_NUM=4
fi
# 拼接目标目录完整路径,mkdir -p会自动创建不存在的各级父目录,无需单独判断目录是否存在
TARGET_DIR="${BACKUP_ROOT}/${CUR_MONTH}/${WEEK_NUM}"
mkdir -p $TARGET_DIR
# 移动备份文件到目标目录
mv /var/www/html/backup.tar.gz $TARGET_DIR

三、cronjob 配置方法

执行crontab -e编辑定时任务列表,添加以下规则即可实现每日执行3次备份,以下示例为每日8点、14点、20点各执行一次:

0 8,14,20 * * * /bin/bash 替换为你实际存放脚本的绝对路径.sh

操作提示:配置前需要给脚本添加执行权限,执行命令chmod +x 替换为你实际存放脚本的绝对路径.sh即可

内容的提问来源于stack exchange,提问作者benyo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:24:03