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