Skip to content

Instantly share code, notes, and snippets.

@shtrih
Created July 1, 2014 09:36
Show Gist options
  • Save shtrih/2dd699f0dbe4df7176da to your computer and use it in GitHub Desktop.
Save shtrih/2dd699f0dbe4df7176da to your computer and use it in GitHub Desktop.
#!/bin/bash
DBUSER=
DBPASS=
DBHOST=localhost
FILEPATH="/home/http/local"
DATE=$(date +"%Y-%m-%d-%H_%M")
cd ${FILEPATH}
FILENAME="${FILEPATH}/${DATE}_tibimi-statistic.txt"
echo "Trying to create file $FILENAME"
:>"$FILENAME" && echo "[Ok]" || {
echo "[Fail]"
exit 1
}
find . -maxdepth 1 -type d | while read DIR; do
pwd
pushd "$DIR" > /dev/null && {
# echo "$DIR"
#if git show "0tibimi/devel" >/dev/null 2>&1 ; then
echo "$DIR"
echo "" >> ${FILENAME}
echo "" >> ${FILENAME}
echo "Статистика для $DIR" >> ${FILENAME}
# "Объем дискового пространства, занимаемого сайтом"
echo -n "Файлы занимают на диске: " >> ${FILENAME}
du . -sh >> ${FILENAME}
DBNAME=""
CONFIG_DB_FILE="./dat/config_db.xml"
if [ -f "$CONFIG_DB_FILE" ]; then
DBNAME="$(cat "$CONFIG_DB_FILE" | grep -E "['\"]db_" | sed -nr "s/^.*\<var name=\"db_name\">([-_a-zA-Z0-9]+)<.*/\1/p")"
else
echo "Файл $CONFIG_DB_FILE не найден." | tee -a ${FILENAME}
fi
if [ -z "$DBNAME" ]; then
echo "Не удалось прочитать название базы $DIR" | tee -a ${FILENAME}
popd > /dev/null
continue
fi
echo "Количество распарсенных за месяц товаров:" >> ${FILENAME}
mysql --user="$DBUSER" --host="$DBHOST" --password="$DBPASS" --table --execute="SELECT COUNT(*) FROM catalog
WHERE add_date BETWEEN
STR_TO_DATE('$(date --date="-1 month" +"%Y-%m-01") 00:00:00', '%Y-%m-%d %H:%i:%s')
AND STR_TO_DATE('$(date +"%Y-%m-01") 00:00:00', '%Y-%m-%d %H:%i:%s')" --database="$DBNAME" >> ${FILENAME} || {
echo 'Ошибка при запросе к таблице catalog. Вероятно, этой таблицы нет.' >> ${FILENAME}
}
# "Объем базы данных"
read -d "" -r QUERY <<QUERY
SELECT table_schema AS 'DB Name',
Round(Sum(data_length + index_length) / 1024 / 1024, 1) 'DB Size in MB'
FROM information_schema.tables
WHERE table_schema = '$(basename "${DBNAME}")'
GROUP BY table_schema
QUERY
echo "Объем базы данных:" >> ${FILENAME}
mysql --user="$DBUSER" --host="$DBHOST" --password="$DBPASS" --table --execute="$QUERY" --database="$DBNAME" >> ${FILENAME}
#fi
popd > /dev/null
}
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment