Ман тасмим гирифтам, ки пурра истифодабарии профилактикро қатъ созам, зеро он захираҳоро мегирад ва танҳо барои як чиз истифода мешавад - захираи маълумот. Аммо аз оне ки ин шахсро шахсан иҷро кардан мумкин аст, сипас нигоҳ доштани панелро дар даҳ сайт ба таври комил ҳис намекунад.
Аз ин рӯ, вазифаи аввалиндараҷаи нусхаҳои нусхаҳои пойгоҳи додаҳо mysql аст. Асосҳо дар ҳаҷм хурданд, аз ин рӯ, соддатарин версияи нусхабардорӣ истифода мешавад - эҷоди архивҳо ва ҷойгир кардани онҳо дар ҷузвдони сервери мушаххас.
Албатта, он бехатарӣ барои фиристодани сервер ба ҷойгоҳи дигар дар маркази дигари иттилооти (ва кишваре, ки аллакай мавҷуд аст), вале аз он даме, ки сайтҳои ман дар як моҳ як маротиба иваз мекунанд, баровардани нусхаҳои ҳар ду рӯз душвор нест аз тарафи кор. :)
Ман то ҳол дар инҷо навишта наметавонам. Аммо он хеле душвор набуд, ки бо мисолҳои сершумори mysql варақаҳои нусхабардорӣ дар сайтҳои гуногун дар бораи маъмурияти сервер оварда шудаанд.
Нависандаи mysqlbackup.sh худи:
#! / bin / bash # Инъикоси тағйирёбандаҳои TMPDIR = "sqlfiles" BACKUPDIR = "/ storage" КПСС "root" ПАСС = "xxx" ТАКТ = $ (сана +% Y-% m-% d) # дастрасии ҷузвдон [...] -d "$ BACKUPDIR"]; сипас mkdir -m 0700 "$ BACKUPDIR" -ро # Санҷед барои ҳузури филиали муваққатӣ агар [! -d "$ BACKUPDIR / $ TMPDIR"]; сипас mkdir -m 0700 "$ BACKUPDIR / $ TMPDIR" # # Нусхаҳои cd "$ BACKUPDIR / $ TMPDIR" барои базаи маълумотҳо дар "mysql-s -r -e" нишон дода шудааст | grep-v grep-v information_schema | grep-v performance_schema | -мегӯяд -v mysql; $ db '$ TIMEY' .tbz2 "$ TMPDIR" database chmod 0600 - "TIMEY $" .tbz2 # Тугмаи феҳристи феҳристро нест кунед - r $ TMPDIR echo "Метавонед пойгоҳи додаҳо захира карда шавад!" 1
Кор бо mysql бевосита аз истифодабарандаи реша иҷро шуда истодааст, чунки ӯ ба ҳамаи махзанҳо дастрас аст.
Info_schema , mysql , performance_schema аз нусхабардорӣ хориҷ карда мешаванд. Ҳамаи ҳамаи махзаниҳо дар як bzip2 архив ҷойгиранд ва дар ҷузвдони муайяни захирашуда ҷойгир карда мешаванд, ки аз он баъдтар онҳоро метавонанд захира кунанд.
Вазифа барои иҷро кардани скрипти як маротиба дар як шабонарӯз дар корти Cron навишта шудааст, масалан, дар як субҳ.
00 01 * * * sh ~ / mysqlbackup.sh
Агар почтаи дуруст дар танзимоти тоҷӣ муқаррар карда шавад, пас ҳисобот ба почта фиристода мешавад, ки дар он маълумотҳои махфии сабтшуда рӯй хоҳад дод.
PS Шумо инчунин метавонед якчанд бор такрор кунед ва якчанд маротиба дар як рӯз. Барои ин, шумо бояд мӯҳлати эҷодиро бо номи архиви муайян кунед, то ки ин файл барпо нашуда бошад.
Машқи дар скрипт ҳеҷ гоҳ паролро ба mysql истифода мекунад
Вақти дуруст. Аммо танҳо барои он ки ман файли .my.cnf-ро дар ҷузвдони root-ии ман истифода мебарам. Ин формат дар сервер ва парол ба қайд гирифта шудааст:
Шумо бояд инро ба пештара илова кунед. :)
Ташаккур, дар бораи my.cnf пайдо шуд :)
Нусхаи мантиқии ман метавонад як шахсро истифода кунад:
https://github.com/wdda/backupper_mysql