- 闲暇之余 整理往日照片,历经了 exiv2 / exiftool 重命名、 SQLite 归档 和 人工识别 。
- 群晖存储上有价值的文件名都已经格式化完毕,赶紧把它们
异地
备份一轮,脚本如下:
#!/bin/bash
# Copy.sh : Backup the files to remote storage.
readonly pDir="${
1:-~/XiaoMi/Image/}" # 照片文件备份路径
readonly vDir="${
2:-~/XiaoMi/Video/}" # 视频文件备份路径
readonly dDir="${
3:-~/XiaoMi/Document/}" # 日志存储目录
readonly iLog="${
dDir}Copy.log" # 备份成功
readonly wLog="${
dDir}Copy.wan" # 已经存在
readonly eLog="${
dDir}Copy.err" # 无需备份和出错信息
readonly debug=false # 调试开关,按需开启
readonly stdName="(^|[[:space:]])[2,1][0,9][0,1,2,7,9][0-9][0-1][0-9][0-3][0-9]-[0-2][0-9][0-5][0-9][0-5][0-9]($|[[:space:]])" # 标准格式
find ~{
higkoo,anglix}/Drive/{
Moments,Backup} ! -path "*@eaDir*" -type f | while read -r sPath; do
unset fName sExt rCopy rCode nDir dPath
sExt="${
sPath##*.}" && sExt="${
sExt,,}"
[[ ${
sExt} == "jpeg" ]] && sExt='jpg' # 将jpeg后缀改为jpg
fName="${
sPath##*/}" && fName="${
fName%%.*}"
if [[ $fName =~ $stdName ]]; then # 识别文件名
case $sExt in
jpg | livp | heic | cr2 )
nDir="