当前位置: 首页 > news >正文

基于 immich-go 的相册备份和 rename 脚本

备份脚本 backup.sh:

#!/bin/bashimmich-go archive from-immich \--from-server http://localhost:8080 \--from-api-key xxxxxx \--write-to-folder immich-export

api-key 需要的权限:

user.read
server.about
asset.read
album.read
asset.download

 

rename 脚本 rename.sh:

#!/bin/bash
# rename-fixed.shcd immich-export || exitecho "开始恢复文件名..."
echo "当前目录: $(pwd)"
echo "-----------------------------------"total=0
success=0
failed=0# 先把所有文件读入数组,避免作用域问题
json_files=()
while IFS= read -r file; dojson_files+=("$file")
done < <(find . -name "*.JSON")total=${#json_files[@]}for json_file in "${json_files[@]}"; do# 对应的媒体文件media_file="${json_file%.JSON}"# 检查媒体文件是否存在if [ ! -f "$media_file" ]; thenfailed=$((failed + 1))continuefi# 用 jq 提取 fileNameoriginal_name=$(jq -r '.fileName // empty' "$json_file")if [ ! -z "$original_name" ] && [ "$original_name" != "null" ]; thendir=$(dirname "$media_file")# 重命名文件if mv "$media_file" "$dir/$original_name" 2>/dev/null; then# 删除对应的 JSON 文件rm "$json_file"success=$((success + 1))elsefailed=$((failed + 1))echo "❌ 重命名失败: $media_file -> $original_name"fielsefailed=$((failed + 1))fi# 显示进度if [ $((success + failed)) -lt $total ] && [ $(( (success + failed) % 100 )) -eq 0 ]; thenecho "进度: 已处理 $((success + failed))/$total, 成功 $success, 失败 $failed"fi
doneecho "-----------------------------------"
echo "完成!"
echo "总计处理: $total 个文件"
echo "成功恢复: $success 个文件 (已删除对应JSON)"
echo "恢复失败: $failed 个文件"

 

http://www.jsqmd.com/news/482273/

相关文章:

  • 打开网站显示页面加载缓慢?错误怎么办|已解决
  • 宝塔面板网站迁移,从 A 服务器到 B 服务器
  • 香河婚介所的标尺与星光:一位IT工程师的平凡婚姻
  • 2026/3/15
  • 生物信息学常用编程语言选型:Python、R、Perl、Julia的应用场景与生态对比
  • 交易数据异常检测:大数据环境下的解决方案
  • 3月12日笔记
  • 基于烟花算法(FWA)及三次样条的机器人路径规划,50个场景任意选择附Matlab代码
  • 基于小波多尺度同步压缩变换WMSST结合MCNN多尺度卷积神经网络的故障诊断研究附Matlab代码
  • 2026年论文AI率92%怎么办?3招实测降到5%以下 - 还在做实验的师兄
  • 嘎嘎降AI怎么用?从注册到出结果手把手教你全流程 - 还在做实验的师兄
  • 2026年毕业季降AI工具哪家强?学姐帮你踩过坑了 - 还在做实验的师兄
  • 目标检测数据集 - 汽车损坏检测数据集下载
  • springboot基于JavaWeb的美食交流宣传系统
  • 打开网站显示常见问题与解决方案(新手必备)错误怎么办|已解决
  • 2026年论文降AI率工具怎么选?研究生亲测这5款最靠谱 - 还在做实验的师兄
  • Bugku-web(eval)
  • 打开网站显示Parse error: syntax error, unexpected [, expecting ] 错误怎么办|已解决
  • 3/15 周日
  • 企业网站建设完整流程(PHP 从零到一)- 核心思路罗列
  • 查网站提示“Table xxx.pb_content doesnt exist”(数据表不存在)问题|已解决
  • 2026年降AI总失败?可能是这3个原因附解决方法 - 还在做实验的师兄
  • 如何创建JAVAWEB项目(在IDEA中配置tomcat)
  • 2026年AIGC检测越来越严?这几款降AI工具还能稳过 - 还在做实验的师兄
  • 基于SpringBoot与微信小程序的生猪养殖信息化管理系统设计与实现
  • 字符串专题 #2
  • SCAU算法设计与分析 —— 贪心算法
  • 2026年AIGC检测算法又升级了,这3种降AI方法还能用 - 还在做实验的师兄
  • 基于SSM与微信小程序的中小学生个性化阅读平台
  • 【Android】SIM 卡相关功能浅略解析