--- notion-id: 278ca4d7-cb7b-8003-b4da-e9b0edaa7a5f --- ### Immich ```bash #!/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 ```bash #!/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 ```