国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

小型Drupal數據庫備份以及大型站點MySQL備份策略分享

2024-07-24 12:46:38
字體:
來源:轉載
供稿:網友

中小站點簡單備份策略

基于drupal的中小行網站,我們可以使用backup_migrate模塊,該模塊提供了定期備份的功能,備份的時間、保留多少個備份等等設置,設置好之后,定期執行cron即可備份成功。 一般的Drupal小站,我們只需使用svn即可,在服務器端,我們把備份好的數據提交到svn,就可以達到備份的目的。由于Drupal的備份模塊可以設置備份保留的文件份數,因此不會造成太多的備份文件,從而導致svn很大。

下面是一個簡單的備份腳本,放置到站點根目錄,然后加到crontab每天執行即可。

#!/bin/bash date #start dateDRUSH_PHP=/bin/php #php pathexport DRUSH_PHP drush cronsvn st sites/default/files/backup_migrate/scheduled/ | grep '^!' | awk '{print $2}' | xargs svn delete --forcesvn add sites/default/files/backup_migrate/scheduled/*svn ci sites/default/files/backup_migrate/scheduled/ -m 'add backup files'date #end date

crontab的設置如下

復制代碼 代碼如下:

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

大型站點MySQL備份策略

如果是數據庫稍大的站點,使用svn臨時備份就略顯單薄,這時需要使用MySQL備份策略,一般情況下我們需要把整個數據庫都備份壓縮,然后定期轉移到備份數據庫或者放到其他的云服務器,這里給出一個簡單的PHP示例代碼。

#!/usr/bin/php -q<?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";
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金沙县| 南宁市| 龙山县| 六盘水市| 澄迈县| 醴陵市| 临沭县| 定西市| 松滋市| 芮城县| 宜章县| 科尔| 新营市| 格尔木市| 乐亭县| 湖南省| 博罗县| 兴国县| 宝应县| 马公市| 朝阳市| 泽普县| 湖北省| 武清区| 砚山县| 南昌市| 谢通门县| 柏乡县| 南靖县| 崇左市| 尼木县| 南宫市| 慈溪市| 东阳市| 工布江达县| 离岛区| 巢湖市| 江西省| 高雄县| 邢台市| 满洲里市|