群晖计划任务.md 2.1 KB


notion-id: 278ca4d7-cb7b-8003-b4da-e9b0edaa7a

Immich

#!/bin/bash

# 定义源文件夹和目标文件夹路径
SOURCE_DIR="/volume1/docker/immich-app"
DEST_DIR="/volume1/Cloudsync"

# 获取当前日期
DATE=$(date +"%Y-%m-%d")

# 定义压缩文件的名称,加入群晖标识
ARCHIVE_NAME="Synology-immich-app-backup-$DATE.zip"

# 压缩文件夹并移动到目标文件夹
zip -r "$DEST_DIR/$ARCHIVE_NAME" "$SOURCE_DIR"

# 检查压缩是否成功
if [ $? -eq 0 ]; then
    echo "备份成功:$DEST_DIR/$ARCHIVE_NAME"
    
    # 列出目标文件夹中以"Synology-immich-app-backup-"开头的所有压缩文件,按时间排序
    cd "$DEST_DIR" || exit
    OLD_BACKUPS=$(ls -t Synology-immich-app-backup-*.zip | tail -n +3)
    
    if [ -n "$OLD_BACKUPS" ]; then
        echo "即将删除以下旧备份文件:"
        echo "$OLD_BACKUPS"
        
        # 删除旧备份文件
        echo "$OLD_BACKUPS" | xargs -I {} rm -f {}
        echo "旧备份文件已删除"
    else
        echo "没有旧备份需要删除"
    fi
else
    echo "备份失败"
fi

Wiznote

#!/bin/bash

# 定义源文件夹和目标文件夹路径
SOURCE_DIR="/volume1/docker/wiznote"

DEST_DIR="/volume1/Cloudsync"

# 获取当前日期
DATE=$(date +"%Y-%m-%d")

# 定义压缩文件的名称,加入群晖标识
ARCHIVE_NAME="Synology-backup-$DATE.zip"

# 压缩文件夹并移动到目标文件夹
zip -r "$DEST_DIR/$ARCHIVE_NAME" "$SOURCE_DIR"

# 检查压缩是否成功
if [ $? -eq 0 ]; then
    echo "备份成功:$DEST_DIR/$ARCHIVE_NAME"
    
    # 列出目标文件夹中以"Synology-backup-"开头的所有压缩文件,按时间排序
    cd "$DEST_DIR"
    OLD_BACKUPS=$(ls -t Synology-backup-*.zip | tail -n +3)
    
    if [ -n "$OLD_BACKUPS" ]; then
        echo "即将删除以下旧备份文件:"
        echo "$OLD_BACKUPS"
        
        # 删除旧备份文件
        echo "$OLD_BACKUPS" | xargs -I {} rm -f {}
        echo "旧备份文件已删除"
    else
        echo "没有旧备份需要删除"
    fi
else
    echo "备份失败"
fi