diff --git a/deploy.sh b/deploy.sh index cd5d811..7b5dc72 100755 --- a/deploy.sh +++ b/deploy.sh @@ -302,8 +302,10 @@ PYBACKUP # کپیِ واقعیِ داده این‌جا نیست: کپیِ زنده روی سرورِ دیگر است (ops/pgbackup/). step "نگه‌داریِ بکاپ‌ها" if [ -d .deploy-backups ]; then - for pattern in 'local-changes-*.patch' 'local-commits-*.patch'; do - ls -1t .deploy-backups/$pattern 2>/dev/null | tail -n +4 | xargs -r rm -f -- + # find و نه ls: ls بی‌فایل خطا می‌دهد و با pipefail کلِ دیپلو را بی‌پیام می‌کشت. + for prefix in local-changes- local-commits-; do + find .deploy-backups -maxdepth 1 -type f -name "${prefix}*.patch" -printf '%T@ %p\n' \ + | sort -rn | tail -n +4 | cut -d' ' -f2- | xargs -r rm -f -- done find .deploy-backups -maxdepth 1 -type f ! -name 'db-before-deploy-*' ! -name 'local-changes-*' \ ! -name 'local-commits-*' -mtime +30 -print -delete | sed 's/^/ پاک شد: /'