20 lines
1.4 KiB
Bash
Executable File
20 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# تدریسینو: دفترِ خرید (payment_paymentevent)، سفارشها و تراکنشها به CSV، هر ۶ ساعت. هر فایل پیش از نوشتهشدن روی دیسک
|
|
# با age برای کلیدِ /etc/tadrisino-backup/age-recipient.txt رمز میشود؛ متنِ خوانا هیچجا ذخیره نمیشود.
|
|
# بازکردن: age -d -i age-identity.txt payment-events-….csv.age (کلید در RECOVERY-KEYS). ۱۴ فایلِ آخرِ هر نوع میماند.
|
|
set -euo pipefail
|
|
OUT=/var/lib/tadrisino-backup/payment-log
|
|
REC=/etc/tadrisino-backup/age-recipient.txt
|
|
stamp=$(date -u +%Y%m%dT%H%M%SZ)
|
|
q() {
|
|
psql -p 5440 -d zareian_mathapp -v ON_ERROR_STOP=1 -Atqc "\\copy ($1) to stdout csv header" | age -R "$REC" -o "$OUT/$2-$stamp.csv.age"
|
|
}
|
|
q "select id, created_at, order_id, user_id, provider, event, detail from payment_paymentevent order by id" payment-events
|
|
q "select id, created_at, user_id, plan_id, plan_title, amount, status, provider, gateway_authority, subscription_id from payment_order order by id" orders
|
|
q "select id, created_at, order_id, gateway, gateway_ref_id, status, paid_at from payment_transaction order by id" transactions
|
|
chmod 640 "$OUT"/*-"$stamp".csv.age
|
|
for kind in payment-events orders transactions; do
|
|
ls -1t "$OUT/$kind"-*.csv.age | tail -n +15 | xargs -r rm -f --
|
|
done
|
|
echo "wrote $OUT/*-$stamp.csv.age"
|