一、Windows DOS
1. 基本的備份與還原
備份: C:\pathToFolder\MySQL\MySQL Server 5.1\bin\>mysqldump -uuser -p'mypassword' dbname > d:\dbname_20130101.sql 還原: C:\pathToFolder\MySQL\MySQL Server 5.1\bin\>mysql -uuser -p'mypassword' db< d:\dbname_20130101.sql參考:【筆記整理】Windows下MySQL備份與還原
2. 使用DOS指令設定日期與時間
DOS指令取得日期與時間echo %date% 結果為 yyyy/MM/dd echo %time% 結果為 mm:dd:ss.xx echo %date:~0,4% 結果為 yyyy,以此類推 但是如果數值小於10,它會空一格,而不是補0。所以如果不想讓檔名有空格就要額外處理。
指令
SET yyyy=%date:~0,4% IF %date:~5,2% LSS 10 ( SET Mon=0%date:~6,1% ) ELSE ( SET Mon=%date:~5,2% ) IF %date:~8,2% LSS 10 ( SET dd=0%date:~9,1% ) ELSE ( SET dd=%date:~8,2% ) IF %time:~0,2% LSS 10 ( SET hh=0%time:~1,1% ) ELSE ( SET hh=%time:~0,2% ) IF %time:~3,2% LSS 10 ( SET mm=0%time:~4,1% ) ELSE ( SET mm=%time:~3,2% ) SET filename=D:\dbname_%yyyy%-%Mon%-%dd%_%hh%%mm%.sql echo %filename%
filenam:dbname_2013-07-30_0651.sql
參考
DOS指令--取得日期時間字串
「知識」DOS指令-用FOR迴圈更名
for指令太強了
* DOS COMMAND IF 比較運算元 是> < =嗎?
二、Linux
(備份的指令跟上面 Windows 一樣。)
#!/bin/bash #by Ron 2016-08-31 #進入網域資料夾 cd /var/www/websites/example.com.tw; #還原資料庫 mysql --user=username -pMyPassword dbname < backup/dbname.sql #刪除舊網頁檔 rm -rf httpdocs/* #複製備份網頁檔 cp -fR backup/httpdocs/* httpdocs #變更擁有者跟權限 chown user.wwwgroup httpdocs -R; chmod 2775 httpdocs -R
三、PHP
<?php header ('Content-Type: text/html; charset=big5'); include('config.php'); //設定備份檔名稱 $path = 'D:/'; $filename = $path.$DATABASE.'_'.date('Y-m-d_Hi').'.sql'; //echo $filename; exit; $mysql_bin_path = 'E:/xampp/xampp1.8.1/mysql/bin/'; $cmd_str = $mysql_bin_path.'mysqldump '.$DATABASE.' -u'.$USER.' -p'.$PASSWORD.' > '.$filename; //echo $cmd_str; exit; $output = shell_exec($cmd_str); echo "<pre>".print_r($output,1)."</pre>"; ?>
.
沒有留言:
張貼留言