Rumah pangkalan data tutorial mysql 小型Drupal数据库备份以及大型站点MySQL备份策略分享

小型Drupal数据库备份以及大型站点MySQL备份策略分享

Jun 07, 2016 pm 04:27 PM
drupal sandaran besar pangkalan data tapak

中小站点简单备份策略 基于drupal的中小行网站,我们可以使用backup_migrate模块,该模块提供了定期备份的功能,备份的时间、保留多少个备份等等设置,设置好之后,定期执行cron即可备份成功。 一般的Drupal小站,我们只需使用svn即可,在服务器端,我们把备

中小站点简单备份策略

基于drupal的中小行网站,我们可以使用backup_migrate模块,该模块提供了定期备份的功能,备份的时间、保留多少个备份等等设置,设置好之后,定期执行cron即可备份成功。 一般的Drupal小站,我们只需使用svn即可,在服务器端,我们把备份好的数据提交到svn,就可以达到备份的目的。由于Drupal的备份模块可以设置备份保留的文件份数,因此不会造成太多的备份文件,从而导致svn很大。

下面是一个简单的备份脚本,放置到站点根目录,然后加到crontab每天执行即可。

#!/bin/bash
 
date #start date
DRUSH_PHP=/bin/php #php path
export DRUSH_PHP
 
drush cron
svn st sites/default/files/backup_migrate/scheduled/ | grep '^!' | awk '{print $2}' | xargs svn delete --force
svn add sites/default/files/backup_migrate/scheduled/*
svn ci sites/default/files/backup_migrate/scheduled/ -m 'add backup files'
date #end date
Salin selepas log masuk

crontab的设置如下


0 0 * * * cd /www/web/html/ && bash cron.sh > cron.log 2>&1

大型站点MySQL备份策略

如果是数据库稍大的站点,使用svn临时备份就略显单薄,这时需要使用MySQL备份策略,一般情况下我们需要把整个数据库都备份压缩,然后定期转移到备份数据库或者放到其他的云服务器,这里给出一个简单的PHP示例代码。

#!/usr/bin/php -q
<&#63;php
 
$to = "gaoxinzhao@gmail.com";
$hostname = exec('/bin/hostname');
$mycnf = "/home/robbin/.my.cnf";
 
$ignore = array('information_schema', 'test', 'mysql', 'wdcpdb');
 
function trimw($str) {
 $str = str_replace(array("n", "r", "t", " ", "o", "xOB"), '', $str);
 return $str;
}
 
if (!file_exists($mycnf)) {
 mail($to, "No .my.cnf exists on $hostname", "MySQL cannot dump because .my.cnf is missing on $hostname .") ;
 exit("cant get user creds");
}
 
$myconf = file_get_contents($mycnf) or die( "Failed to open bmesh_admin's .my.cnf" );
 
preg_match( "/buser(.*)/", $myconf, $matches ) or die( mail($to, "No username in .my.cnf on $hostname", "MySQL cannot dump on $hostname"));
 
$usr = (explode('=', $matches[0]));
$user = trimw($usr[1]);
 
preg_match( "/bpassword(.*)/", $myconf, $matches ) or die( mail($to, "No password in .my.cnf on $hostname", "MySQL cannot dump on $hostname"));
 
$pass = (explode('=', $matches[0]));
$password = trimw($pass[1]);
 
mysql_connect("localhost",$user,$password) or die ("could not connect: " . mysql_error());
mysql_select_db("mysql");
$result = mysql_query("show databases");
 
$bpath = "/home/robbin/backup/mysql";
$btime = date("Y-m-d H:i:s");
$bstamp = strtotime($btime);
$byear = date("Y", $bstamp);
$bmonth = date("m", $bstamp);
$bday  = date("d", $bstamp);
$btod  = date("H-i-s", $bstamp);
 
while ($res = mysql_fetch_array($result))
{
    $myDb = $res["Database"];
    if (in_array($myDb, $ignore)) continue;
    $mdir = "$bpath/$byear/$bmonth/$bday/$btod/$myDb";
    $out = `mkdir -p $mdir`;
    $myFile = $myDb . ".sql";
    $bldCmd = "cd $mdir ; ";
    $bldCmd .= "mysqldump -u$user -p$password --single-transaction --add-drop-table -R -c -Q $myDb > $myFile ;";
    //$bldCmd .= "chmod 644 $myFile ; ";
    //$bldCmd .= "chown root:root $myFile ; ";
    $bldCmd .= "gzip -9 $myFile";
    print "Backing up $myDbn";
    print "Securing $myDbn";
    $out = `$bldCmd`;
}
$out = `chmod 700 $bpath/$byear`;
print "$outn";
print "Backups are in $bpathn";
Salin selepas log masuk

crontab的设置


0 1 * * * /home/robbin/bin/mysql_backup.php

此外我们需要把备份的数据还要定期传送到其他服务器上,才会避免服务器崩溃而引发数据丢失。备份及时网站才有保证,这里仅仅只是笔者的一点点操作分享,大家有更好的备份策略,欢迎共享。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menambah tapak yang dipercayai dalam Google Chrome Bagaimana untuk menambah tapak yang dipercayai dalam Google Chrome Jul 19, 2024 pm 04:14 PM

Bagaimana untuk menambah tapak yang dipercayai dalam Google Chrome? Sesetengah pengguna tidak boleh menyemak imbas web seperti biasa kerana halaman menggesa bahawa ia tidak selamat semasa melayari Internet Pada masa ini, mereka boleh menambah tapak web sebagai tapak yang dipercayai, dan kami boleh mengaksesnya secara normal dan melayari Internet dengan lancar. Editor di bawah akan membawakan kepada anda langkah-langkah untuk menambah tapak yang dipercayai dalam Google Chrome. Cara menambah tapak yang dipercayai dalam Google Chrome: 1. Buka Google Chrome dan klik tiga titik di penjuru kanan sebelah atas. Klik [Tetapan]. Pilih tetapan privasi dan keselamatan. (Seperti yang ditunjukkan dalam gambar) 2. Klik Tetapan Laman Web di bahagian bawah halaman. (Seperti yang ditunjukkan dalam gambar) 3. Klik pada kandungan yang tidak selamat di bahagian bawah halaman. (Seperti yang ditunjukkan dalam gambar) 4. Klik butang Tambah di sebelah kanan pilihan Benarkan. (Seperti yang ditunjukkan dalam gambar) 5. Kalah

Bagaimana untuk menggunakan sandaran dan pemulihan MySQL dalam PHP? Bagaimana untuk menggunakan sandaran dan pemulihan MySQL dalam PHP? Jun 03, 2024 pm 12:19 PM

Membuat sandaran dan memulihkan pangkalan data MySQL dalam PHP boleh dicapai dengan mengikuti langkah berikut: Sandarkan pangkalan data: Gunakan arahan mysqldump untuk membuang pangkalan data ke dalam fail SQL. Pulihkan pangkalan data: Gunakan arahan mysql untuk memulihkan pangkalan data daripada fail SQL.

Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Mar 27, 2024 pm 09:39 PM

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Apr 17, 2024 pm 12:09 PM

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Apr 09, 2024 pm 12:36 PM

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak Jul 18, 2024 am 05:48 AM

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Jun 04, 2024 pm 01:42 PM

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Jun 05, 2024 pm 02:16 PM

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

See all articles