deploy.sh: backup retention used ls on a glob that can be empty, killing the deploy under pipefail
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -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/^/ پاک شد: /'
|
||||
|
||||
Reference in New Issue
Block a user