32 lines
913 B
Bash
32 lines
913 B
Bash
cat >export-daily.sh <<'EOF'
|
|
#!/bin/bash
|
|
DATE=$(date +%Y-%m-%d)
|
|
LOG="/app/data/logs/export.log"
|
|
|
|
mkdir -p /app/data/logs /app/data/archive
|
|
|
|
echo "[$(date)] Starting export..." >> "$LOG"
|
|
|
|
PGPASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD} psql \
|
|
-h ${CLOUDRON_POSTGRESQL_HOST} \
|
|
-p ${CLOUDRON_POSTGRESQL_PORT} \
|
|
-U ${CLOUDRON_POSTGRESQL_USERNAME} \
|
|
-d ${CLOUDRON_POSTGRESQL_DATABASE} \
|
|
-c "COPY (
|
|
SELECT id, created_at, text, uri, url, account_id
|
|
FROM statuses
|
|
WHERE local = true
|
|
AND deleted_at IS NULL
|
|
AND created_at > NOW() - INTERVAL '2 days'
|
|
ORDER BY created_at DESC
|
|
) TO STDOUT WITH CSV HEADER" > /app/data/posts-latest.csv
|
|
|
|
cp /app/data/posts-latest.csv "/app/data/archive/posts-$DATE.csv"
|
|
find /app/data/archive -name "posts-*.csv" -mtime +7 -delete
|
|
|
|
LINES=$(wc -l < /app/data/posts-latest.csv)
|
|
echo "[$(date)] Exported $LINES posts" >> "$LOG"
|
|
EOF
|
|
|
|
chmod +x export-daily.sh
|