“Automysqlbackup” we “Autopostgresqlbackup” gurallaryny ulanyp, MySQL/MariaDB we PostgreSQL-ni nädip ätiýaçlandyrmaly/dikeltmeli
Maglumatlar bazasynyň dolandyryjysy (DBA) bolsaňyz ýa-da maglumat bazalaryny saklamak, ätiýaçlandyrmak we dikeltmek üçin jogapkär bolsaňyz, maglumatlary ýitirip bilmejekdigiňizi bilýärsiňiz. Munuň sebäbi ýönekeý: maglumatlary ýitirmek diňe bir möhüm maglumatlaryň ýitmegini aňlatman, eýsem işiňize maddy taýdan zyýan ýetirip biler.
Şol sebäpli elmydama hökman göz ýetirmeli:
1. maglumat bazalaryňyz wagtal-wagtal ätiýaçlanýar,
2. şol ätiýaçlyk nusgalar howpsuz ýerde saklanýar we
3. dikeldiş türgenleşiklerini yzygiderli ýerine ýetirýärsiňiz.
Bu soňky işe üns bermeli däldir, sebäbi beýle ýagdaýda edilmeli zatlary ýerine ýetirmän esasy meselä girmek islemeýärsiňiz.
Bu gollanmada, degişlilikde MySQL/MariaDB we PostgreSQL maglumat bazalaryny ätiýaçlandyrmak üçin iki sany gowy kömekçi enjam bilen tanyşdyrarys: automysqlbackup we autopostgresqlbackup.
Ikinjisi öňküsine esaslanýandygy sebäpli, düşündirişlerimizi automysqlbackup-a gönükdireris we umuman bar bolsa autopgsqlbackup bilen tapawutlary belläris.
Uptiýaçlyk nusgalary ätiýaçlyk katalogynda gurnalan tor paýynda saklamak maslahat berilýär, ulgam ulgamyndaky näsazlyk ýüze çykan halatynda size ýapylar.
MySQL-da aşakdaky peýdaly gollanmalary okaň:
MySQL/MariaDB/PostgreSQL maglumat bazalaryny gurmak
1. Bu gollanma, MySQL/MariaDB/PostgreSQL mysalynyň işlemelidigini göz öňünde tutýar, ýok bolsa, aşakdaky paketleri guruň:
# yum update && yum install mariadb mariadb-server mariadb-libs postgresql postgresql-server postgresql-libs
# aptitude update && aptitude install mariadb-client mariadb-server mariadb-common postgresql-client postgresql postgresql-common
2. Sizde ulanyp boljak MySQL/MariaDB/PostgreSQL maglumat bazasy bar (bu gurallar bilen tanyşýançaňyz, önümçilik gurşawynda awtomatizqlbackup ýa-da autopostgresqlbackup ulanmazlygy maslahat berilýär).
Otherwiseogsam, iki sany maglumat bazasyny dörediň we dowam etmezden ozal olary maglumatlar bilen dolduryň. Bu makalada aşakdaky maglumat bazalaryny we tablisalary ulanaryn:
CREATE DATABASE mariadb_db; CREATE TABLE tecmint_tbl (UserID INT AUTO_INCREMENT PRIMARY KEY, UserName VARCHAR(50), IsActive BOOL);
CREATE DATABASE postgresql_db; CREATE TABLE tecmint_tbl ( UserID SERIAL PRIMARY KEY, UserName VARCHAR(50), IsActive BOOLEAN);
CentOS 7 we Debian 8-de awtomatizqlbackup we autopgsqlbackup gurmak
3. Debian 8-de iki gural hem ammarlarda bar, şonuň üçin olary gurmak işlemek ýaly ýönekeý:
# aptitude install automysqlbackup autopostgresqlbackup
CentOS 7-de bolsa, gurnama skriptlerini göçürip almaly bolarsyňyz. Aşakdaky bölümlerde diňe bu gurallary CentOS 7-de gurnamak, düzmek we synagdan geçirmek meselesine ünsi jemläris, sebäbi Debian 8 üçin - bu gutulardan çykýar, biz bu makalada zerur düşündirişler bereris.
4. Gurmak skriptini göçürip almak we işletmek üçin /opt
içinde iş bukjasyny döretmekden başlalyň:
# mkdir /opt/automysqlbackup # cd /opt/automysqlbackup # wget http://ufpr.dl.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz # tar zxf automysqlbackup-v3.0_rc6.tar.gz # ./install.sh
5. Automysqlbackup üçin konfigurasiýa faýly myserver.conf ady bilen/etc/automysqlbackup içinde ýerleşýär. Geliň, iň möhüm konfigurasiýa görkezmelerine göz aýlalyň:
# Username to access the MySQL server CONFIG_mysql_dump_username='root' # Password CONFIG_mysql_dump_password='YourPasswordHere' # Host name (or IP address) of MySQL server CONFIG_mysql_dump_host='localhost' # Backup directory CONFIG_backup_dir='/var/backup/db/automysqlbackup' # List of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' ... ) # set to (), i.e. empty, if you want to backup all databases CONFIG_db_names=(AddYourDatabase Names Here) # List of databases for Monthly Backups. # set to (), i.e. empty, if you want to backup all databases CONFIG_db_month_names=(AddYourDatabase Names Here) # Which day do you want monthly backups? (01 to 31) # If the chosen day is greater than the last day of the month, it will be done # on the last day of the month. # Set to 0 to disable monthly backups. CONFIG_do_monthly="01" # Which day do you want weekly backups? (1 to 7 where 1 is Monday) # Set to 0 to disable weekly backups. CONFIG_do_weekly="5" # Set rotation of daily backups. VALUE*24hours # If you want to keep only today's backups, you could choose 1, i.e. everything older than 24hours will be removed. CONFIG_rotation_daily=6 # Set rotation for weekly backups. VALUE*24hours. A value of 35 means 5 weeks. CONFIG_rotation_weekly=35 # Set rotation for monthly backups. VALUE*24hours. A value of 150 means 5 months. CONFIG_rotation_monthly=150 # Include CREATE DATABASE statement in backup? CONFIG_mysql_dump_create_database='no' # Separate backup directory and file for each DB? (yes or no) CONFIG_mysql_dump_use_separate_dirs='yes' # Choose Compression type. (gzip or bzip2) CONFIG_mysql_dump_compression='gzip' # What would you like to be mailed to you? # - log : send only log file # - files : send log file and sql files as attachments (see docs) # - stdout : will simply output the log to the screen if run manually. # - quiet : Only send logs if an error occurs to the MAILADDR. CONFIG_mailcontent='quiet' # Email Address to send mail to? ([email ) CONFIG_mail_address='root' # Do you wish to encrypt your backups using openssl? #CONFIG_encrypt='no' # Choose a password to encrypt the backups. #CONFIG_encrypt_password='password0123' # Command to run before backups (uncomment to use) #CONFIG_prebackup="/etc/mysql-backup-pre" # Command run after backups (uncomment to use) #CONFIG_postbackup="/etc/mysql-backup-post"
“Autysqlbackup” -y zerurlyklaryňyza görä düzeniňizden soň,/etc/automysqlbackup/README-den tapylan README faýlyny barlamagy maslahat berýärsiňiz.
6. Taýar bolanyňyzda, konfigurasiýa faýlyny argument hökmünde geçirip, programmany işlediň:
# automysqlbackup /etc/automysqlbackup/myserver.conf
Gündelik katalogy çalt gözden geçirmek, “autysqlbackup” -yň üstünlikli işleýändigini görkezer:
# pwd # ls -lR daily
Elbetde, zerurlyklaryňyza laýyk gelýän günüň dowamynda “automysqlbackup” -y işletmek üçin “crontab” ýazgysyny goşup bilersiňiz (aşakdaky mysalda her gün irden 1:30):
30 01 * * * /usr/local/bin/automysqlbackup /etc/automysqlbackup/myserver.conf
7. Indi mariadb_db maglumat bazasyny maksatly goýalyň:
Geliň, ýene döredeliň we ätiýaçlyk nusgasyny dikeliň. MariaDB haýyşnamasynda ýazyň:
CREATE DATABASE mariadb_db; exit
Soňra tapyň:
# cd /var/backup/db/automysqlbackup/daily/mariadb_db # ls
Thetiýaçlyk nusgasyny dikelt:
# mysql -u root -p mariadb_db < daily_mariadb_db_2015-09-01_23h19m_Tuesday.sql # mysql -u root -p MariaDB [(none)]> USE mariadb_db; MariaDB [(none)]> SELECT * FROM tecmint_tb1;
CentOS 7-de autopostgresqlbackup gurmak we düzmek
8. Autopostgresql-iň CentOS 7-de kemsiz işlemegi üçin ilki bilen käbir garaşlylygy gurmaly bolarys:
# yum install mutt sendmail
Soňra bolsa prosesi öňküsi ýaly gaýtalalyň:
# mkdir /opt/autopostgresqlbackup # cd /opt/autopostgresqlbackup # wget http://ufpr.dl.sourceforge.net/project/autopgsqlbackup/AutoPostgreSQLBackup/AutoPostgreSQLBackup-1.0/autopostgresqlbackup.sh.1.0 # mv autopostgresqlbackup.sh.1.0 /opt/autopostgresqlbackup/autopostgresqlbackup.sh
Scriptazgyny ýerine ýetirip, hyzmaty başlamaga/işletmäge mümkinçilik bereliň:
# chmod 755 autopostgresqlbackup.sh # systemctl start postgresql # systemctl enable postgresql
Ahyrynda, ätiýaçlyk katalog sazlamasynyň bahasyny redaktirläris:
BACKUPDIR="/var/backup/db/autopostgresqlbackup"
“Automyslbackup” -yň konfigurasiýa faýlyndan geçensoň, bu guraly düzmek gaty aňsat (meseläniň şol bölegi size bagly).
9. CentOS 7-de, Debian 8-den tapawutlylykda, autgostgresqlbackup postgres ulgamynyň ulanyjysy hökmünde iň oňat işleýär, şonuň üçin bu hasabyňyza geçmeli ýa-da krontab faýlyna kron işini goşmaly:
# crontab -u postgres -e
30 01 * * * /opt/autopostgresqlbackup/autopostgresqlbackup.sh
Theeri gelende aýtsak, ätiýaçlyk katalog döredilmeli we onuň rugsatlary we topar eýeçiligi 0770-e we postgreslere yzygiderli kesgitlenmeli (ýene-de bu Debian dilinde zerur bolmaz):
# mkdir /var/backup/db/autopostgresqlbackup # chmod -R 0770 /var/backup/db/autopostgresqlbackup # chgrp -R postgres /var/backup/db/autopostgresqlbackup
Netije:
# cd /var/backup/db/autopostgresqlbackup # pwd # ls -lR daily
10. Indi zerur bolanda faýllary dikeldip bilersiňiz (boş maglumatlar bazasyny döredeniňizden soň ulanyjy postgres hökmünde etmegi ýatdan çykarmaň):
# gunzip -c postgresql_db_2015-09-02.Wednesday.sql.gz | psql postgresql_db
Debian 8-de pikirler
Öň hem belläp geçişimiz ýaly, diňe Debian-da bu gurallary gurnamak has gönümel däl, eýsem degişli konfigurasiýalarydyr. Sazlama faýllaryny şu ýerden tapyp bilersiňiz:
- Automysqlbackup:/etc/default/automysqlbackup
- Autopostgresqlbackup:/etc/default/autopostgresqlbackup
Gysgaça mazmun
Bu makalada “automysqlbackup” we “autopostgresqlbackup” -y nädip gurmalydygyny we ulanmalydygyny (birinjisini nädip ulanmalydygyny öwrenmek, ikinjisini hem özleşdirmäge kömek eder), DBA ýa-da ulgam dolandyryjysy/inerener hökmünde wezipeleriňizi ýerine ýetirip biljek iki sany uly maglumat bazasynyň ätiýaçlyk guralyny düşündirdik. has aňsat.
E-poçta habarnamalaryny düzmek ýa-da ätiýaçlyk faýllary e-poçta arkaly goşmaçalar hökmünde ibermek arkaly bu mowzukda giňeldip bilersiňiz - berk talap edilmeýär, ýöne käwagt peýdaly bolup biler.
Iň soňky bellik hökmünde konfigurasiýa faýllarynyň rugsatlarynyň iň pes derejede bolmalydygyny ýadyňyzdan çykarmaň (köp halatda 0600). Bu makala hakda pikirleriňizi diňlemäge sabyrsyzlyk bilen garaşýarys. Aşakdaky formany ulanyp bize bellik goýup bilersiňiz.