#!/bin/bash

# Перенаправляем stderr в stdout
exec 2>&1

MYSQL="/usr/bin/mysql"
NAME="socialdb"

TMPDIR="/opt/tmp"
TMPPREFIX="profile-dump-crypta-";
DSTDIR="/opt/profile-dump/crypta";

DAYS=1

TIME=`date '+%s'`
DATE=`date '+%F'`

DSTFILE="$DATE"
DSTPATH="$DSTDIR/$DSTFILE"
TMPFILE="$TMPPREFIX$TIME"
TMPPATH="$TMPDIR/$TMPFILE"

QUERY=$(cat <<EOF
SELECT pr.profile_id, pr.uid, pr.provider_id, pr.userid, pr.username, pe.firstname, pe.lastname, pe.gender, pe.birthday, pe.email, pe.phone, pr.created
FROM profile pr
  LEFT JOIN person pe USING (profile_id)
EOF
)

# В системном TMPDIR не хватает места для дампа, поэтому используем каталог на HDD
export TMPDIR

cd $TMPDIR
echo Dumping profile-table to $TMPPATH ...
$MYSQL --database=$NAME --skip-column-names --execute="$QUERY" --quick | sort | uniq > $TMPFILE
echo Moving temporary crypta-dump to destination directory...
mv $TMPPATH $DSTPATH
echo Removing temporary crypta-dump...
cd $DSTDIR
echo Cleaning old dumps in destination directory...
find . -type f -mtime +$DAYS -exec rm -f {} \;
