fix up autothumbs
This commit is contained in:
@@ -15,13 +15,22 @@ echo "=== Enhanced Synology Thumbnail Cleanup ==="
|
||||
echo "Target directory: $TARGET_DIR"
|
||||
|
||||
# 1. Stop indexing services temporarily
|
||||
echo "Stopping indexing services..."
|
||||
sudo synoservicectl --stop synoindexd 2>/dev/null || true
|
||||
sudo synoservicectl --stop pkgctl-SynoFinder 2>/dev/null || true
|
||||
echo "Stopping indexing services (best effort)..."
|
||||
if command -v synoservicectl >/dev/null 2>&1; then
|
||||
synoservicectl --stop synoindexd 2>/dev/null || true
|
||||
synoservicectl --stop pkgctl-SynoFinder 2>/dev/null || true
|
||||
elif command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl stop synoindexd 2>/devnull || true
|
||||
systemctl stop pkgctl-SynoFinder 2>/dev/null || true
|
||||
else
|
||||
echo " -> Service control unavailable; skipping"
|
||||
fi
|
||||
|
||||
# 2. Clear indexing queue to prevent regeneration
|
||||
echo "Clearing indexing queue..."
|
||||
sudo rm -f /var/spool/syno_indexing_queue* 2>/dev/null || true
|
||||
echo "Clearing indexing queue (if accessible)..."
|
||||
if [ -w /var/spool ]; then
|
||||
rm -f /var/spool/syno_indexing_queue* 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# 3. Dry-run check (see what @eaDir directories exist)
|
||||
echo "=== Existing @eaDir directories ==="
|
||||
@@ -33,17 +42,17 @@ find "$TARGET_DIR" -type d -name '@eaDir' -exec rm -rf '{}' \; 2>/dev/null || tr
|
||||
|
||||
# 5. Rename eaDir_tmp to @eaDir (your custom thumbnails)
|
||||
echo "=== Installing custom thumbnails ==="
|
||||
find "$TARGET_DIR" -type d -name 'eaDir_tmp' -exec bash -c 'mv "$0" "${0%/*}/@eaDir"' {} \;
|
||||
# Use -depth so we process children before parents, and use $1 in bash -c for safety
|
||||
find "$TARGET_DIR" -depth -type d -name 'eaDir_tmp' -exec bash -c 'd="$1"; mv "$d" "${d%/*}/@eaDir"' _ {} \; 2>/dev/null || true
|
||||
|
||||
# 6. Protect custom thumbnails with read-only permissions
|
||||
echo "=== Protecting custom thumbnails ==="
|
||||
find "$TARGET_DIR" -type d -name '@eaDir' -exec chmod 555 '{}' \;
|
||||
find "$TARGET_DIR" -path '*/@eaDir/*' -type f -exec chmod 444 '{}' \;
|
||||
|
||||
# 7. Create .noindex files to hint indexing services to avoid these directories
|
||||
echo "=== Adding indexing exclusion hints ==="
|
||||
find "$TARGET_DIR" -type d -name '@eaDir' -exec touch '{}/.noindex' \;
|
||||
find "$TARGET_DIR" -type d -name '@eaDir' -exec sh -c 'touch "$1/.noindex" 2>/dev/null || true' _ {} \;
|
||||
|
||||
# 7. Protect custom thumbnails with read-only permissions (after .noindex)
|
||||
echo "=== Protecting custom thumbnails ==="
|
||||
find "$TARGET_DIR" -type d -name '@eaDir' -exec chmod 555 '{}' \; 2>/dev/null || true
|
||||
find "$TARGET_DIR" -path '*/@eaDir/*' -type f -exec chmod 444 '{}' \; 2>/dev/null || true
|
||||
|
||||
echo "=== Cleanup complete! ==="
|
||||
echo "Note: Indexing services stopped. They may restart automatically."
|
||||
echo "Run 'sudo synoservicectl --start synoindexd' if you need to re-enable indexing."
|
||||
echo "Note: If indexing was stopped and needs restarting, use DSM UI or your NAS service tools."
|
||||
Reference in New Issue
Block a user