Asosiy tarkibga o'tish

Mahalliy papkada Mysql skriptni zaxira ma'lumotlar bazalari



Men ispmanagerdan foydalanishdan butunlay voz kechishga qaror qildim, chunki u resurslarni oladi va faqat bitta narsa uchun ishlatiladi - ma'lumotlar zahirasi. Biroq, bu shaxsan amalga oshirilishi mumkin, chunki o'nta sayt uchun panelni panelga qo'yish umuman mantiqiy emas.

Shuning uchun birinchi vazifa mysql ma'lumotlar bazalarining zaxira nusxalarini yaratishdir. Bazalar hajmi kichik, shuning uchun zahiralarning eng oddiy versiyasi - arxiv yaratish va ma'lum bir server papkasida joylashtirish uchun ishlatiladi.



Albatta, sftp zaxira nusxasini boshqa ma'lumot markazidagi boshqa serverga (va u allaqachon mavjud bo'lgan mamlakatga) jo'natish yanada xavfsizroq bo'ladi, lekin mening saytlarim oyda bir necha marta o'zgarib, har ikki kunda nusxalarni yuklab olish qiyin emas ish bilan. :)

Shu paytgacha Bashda skriptlarni yozishda tajribam yo'q edi. Biroq, server boshqaruvi haqida turli xil saytlarda mysql zaxira buyruqlarining ko'plab misollari hisobga olingan holda, uni tushunish qiyin emas edi.



Mysqlbackup.sh skriptining o'zi:

 #! / bin / bash # o'zgarmaydiganlarni ishga tushiring TMPDIR = "sqlfiles" BACKUPDIR = "/ storage" USER = "root" PASS = "xxx" TIMEY = $ (sana +% Y-% m-% d) # agar [!  -d "$ BACKUPDIR"];  keyin mkdir -m 0700 "$ BACKUPDIR" fi # agar vaqtinchalik katalog mavjudligini tekshiring [!  -d "$ BACKUPDIR / $ TMPDIR"];  mkdir -m 0700 "$ BACKUPDIR / $ TMPDIR" fi # ma'lumotlar bazasi uchun "$ BACKUPDIR / $ TMPDIR" diskining nusxalarini `mysql -s -r -e SHOW DATABASES '|  grep -v ma'lumotlar bazasi |  grep -v information_schema |  grep -v performance_schema |  grep -v mysql`;  "$ TIMEY" .tbz2 "$ TMPDIR" chmod 0600 ma'lumotlar bazalari - "$ TIMEY" .tbz2 # Vaqtinchalik papkani o'chirish rm - $ mysqldump $ database> $ database.sql; bajarildi # "$ BACKUPDIR" r $ TMPDIR echo "Ma'lumotlar bazalari saqlanadi!"  chiqish 1 

Mysql bilan ishlash to'g'ridan-to'g'ri ildiz foydalanuvchisidan amalga oshiriladi, chunki u bir vaqtning o'zida barcha ma'lumotlar bazalariga kirish imkoniyatiga ega.

Ma'lumotlar bazasi information_schema , mysql , performance_schema zaxiradan chiqarib tashlandi. Keyinchalik barcha ma'lumotlar bazalari bzip2-arxivga joylashtiriladi va undan so'ng ularni yuklab olish mumkin bo'lgan ma'lum bir papkada saqlanadi.



Skriptni kuniga bir marta bajarish vazifasi Cron schedulerida, masalan, ertalab birida yoziladi.

  00 01 * * * sh ~ / mysqlbackup.sh 

To'g'ri e-pochta toj sozlamalarida o'rnatilsa, saqlangan ma'lumotlar bazalari ro'yxatga olinadigan pochta bo'limiga xabar yuboriladi.

PS Bundan tashqari, kuniga bir necha marta zahira nusxalarini yaratishingiz mumkin. Buni amalga oshirish uchun, faylning ustiga yozilmaganligi uchun arxiv nomidagi yaratilish vaqtini ko'rsatishingiz kerak.



Maqolani qanday baholaysiz?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Hech qanday baholash yo'q)
Yuklanmoqda ...

” 4 Sharh " Mahalliy papkada Mysql skriptlarini zaxira ma'lumotlar bazalari "

    1. To'g'ri, o'tkazib yuborilgan vaqt. Lekin faqat .my.cnf faylini o'zimning asosiy ildiz papkasida ishlatganim uchun. Ushbu formatda ro'yxatdan o'tgan login va parol mavjud:

        [mijoz]
       foydalanuvchi = root
       parol = 12345 

      Buni ilgari lavozimga qo'shishingiz kerak edi. :)

Fikr qo'shish

Sizning elektron pochtangiz e'lon qilinmaydi.