{"id":342,"date":"2012-07-12T13:46:26","date_gmt":"2012-07-12T09:46:26","guid":{"rendered":"http:\/\/ratbag.vkomi.ru\/?p=342"},"modified":"2015-01-18T03:36:17","modified_gmt":"2015-01-17T23:36:17","slug":"mysql-db-dump-and-gzip-cron-script","status":"publish","type":"post","link":"http:\/\/ratbag.vkomi.ru\/2012\/web\/mysql-db-dump-and-gzip-cron-script\/","title":{"rendered":"\u041f\u0440\u043e\u0441\u0442\u043e\u0439 cron \u0441\u043a\u0440\u0438\u043f\u0442 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f MySQL \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445"},"content":{"rendered":"

\u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0438 \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0431\u044d\u043a\u0430\u043f\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 MySQL<\/strong>. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 mysqldump<\/em>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u0432 \u0444\u0430\u0439\u043b \u0432 SQL \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u0414\u0430\u043b\u0435\u0435 \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 GZIP \u0430\u0440\u0445\u0438\u0432. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0442\u0430\u0440\u044b\u0435 \u0430\u0440\u0445\u0438\u0432\u044b (\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043e\u043d\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f 3 \u0434\u043d\u044f). \u0412 \u043a\u043e\u043d\u0446\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u043c\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u0440\u0445\u0438\u0432\u0430. \u0415\u0441\u043b\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f Cron \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441, \u043a\u0443\u0434\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430, \u0442\u043e \u0438\u043c\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0443\u0439\u0434\u0435\u0442 \u0432\u0430\u043c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043a\u0430\u043a \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435.<\/p>\n

\u041d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c Cron \u0437\u0430\u0434\u0430\u0447\u0443 \u0438 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437 \u0432 \u0434\u0435\u043d\u044c \u0438\u043b\u0438 \u0447\u0430\u0449\u0435:<\/p>\n

\/var\/www\/userXXX\/data\/db_dump\/mysqlbackup.sh<\/p><\/blockquote>\n

\u0421\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u0444\u0430\u043b\u0439 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c «mysqlbackup.sh<\/em>» \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0430\u043f\u043a\u0443 \u0432 \u043a\u043e\u0440\u043d\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 «db_dump<\/em>«. \u041b\u0438\u0441\u0442\u0438\u043d\u0433 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u0438\u0436\u0435:<\/p>\n

#\/bin\/sh
\n# Make DB dump and GZIP<\/p>\n

# MAKE Settings here:
\nDB_NAME=’XXX’
\nDB_USER=’XXX’
\nDB_PASS=’XXX’
\nFPATH=’\/var\/www\/userXXX\/data\/db_dump\/’
\nFPREFIX=’$DB_NAME’_
\nDATETIME=`date ‘+%Y%m%d_%H%M%S’`<\/p>\n

# System parameters
\nMYSQLDUMP=’$(which mysqldump)’
\nGZIP=’$(which gzip)’<\/p>\n

# Make DB dump and GZip it
\n$MYSQLDUMP -u$DB_USER -p$DB_PASS $DB_NAME | $GZIP > $FPATH$FPREFIX$DATETIME.gz<\/p>\n

# Remove dumps older than 3 days
\nfind $FPATH -type f -name $FPREFIX*.gz -mtime +3 | xargs rm<\/p>\n

# Output created file name
\nfind $FPATH$FPREFIX$DATETIME.gz<\/p><\/blockquote>\n

\u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u0448\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0431\u043b\u043e\u043a\u0435, \u0433\u0434\u0435 \u0441\u0442\u043e\u0438\u0442 \u0442\u0440\u0438 \u0438\u043a\u0441\u0430 (XXX). \u041d\u043e \u043f\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 — \u0432\u0441\u0451 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f — \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c.<\/p>\n

\u041a\u0430\u043a \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u0432 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0437\u0430\u0434\u0430\u0447 Cron \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0443 \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438<\/a> (\u0442\u043e\u0440\u043e\u043f\u0438\u0442\u0435\u0441\u044c, \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u0440\u043e \u0437\u0430\u043a\u0440\u043e\u044e\u0442<\/a>).<\/p>\n