国产探花免费观看_亚洲丰满少妇自慰呻吟_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";
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万全县| 米易县| 大理市| 深泽县| 成安县| 泸水县| 红桥区| 庆元县| 岢岚县| 保靖县| 大宁县| 凤山县| 大名县| 浦城县| 紫金县| 紫阳县| 明水县| 横峰县| 甘洛县| 梅州市| 利川市| 永胜县| 尼勒克县| 沭阳县| 临朐县| 灯塔市| 开鲁县| 阿勒泰市| 乌海市| 汶川县| 铜陵市| 崇信县| 永顺县| 三都| 潍坊市| 仙桃市| 高安市| 克东县| 虞城县| 乐安县| 芷江|