欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Windows主機(jī)上定時(shí)備份遠(yuǎn)程VPS(CentOS)數(shù)據(jù)的批處理

 更新時(shí)間:2012年05月01日 21:16:10   作者:  
我想在自己的 Windows7 下每天/周運(yùn)行一次備份,就有了這個(gè)小工具
不過折騰 VPS 之后,就不只是要備份 MySQL 了,一些獨(dú)立的站點(diǎn)數(shù)據(jù)也是需要備份的。
如果有靠譜的第三方 Linux 主機(jī)或類似 Amazon 的云存儲,那就簡單多了,Linux - Linux 的備份很方便。
不過我想在自己的 Windows7 下每天/周運(yùn)行一次備份,就有了這個(gè)小工具。

大概的想法如下:
使用 Putty 自帶的 plink.exe 連接到 VPS 上,運(yùn)行備份并退出登錄;
接著使用 Putty 自帶的 pscp.exe 將備份復(fù)制到本機(jī);
添加一個(gè)計(jì)劃任務(wù),每天/周自動運(yùn)行一次,實(shí)現(xiàn)定時(shí)備份。

復(fù)制代碼 代碼如下:

Windows 下負(fù)責(zé)觸發(fā)備份的 index.bat
@echo off & setlocal ENABLEEXTENSIONS

:: 這里只是 SSH 連接和備份路徑配置信息
:: 請同時(shí)修改同目錄下 linux 文件中要備份的路徑和 MySQL 數(shù)據(jù)庫

:: SSH 相關(guān)信息
set SERVER=192.168.1.100
set PORT=22
set USER=root
set PASSWORD=password

:: 和同目錄下 linux 文件中配置的路徑對應(yīng)
set BACKUP_PATH=/root/backup

:: 備份要下載到的本機(jī)位置(會自動創(chuàng)建)
set SAVE_PATH=D:\Backup\

:: ---------- 配置結(jié)束,以下請勿修改 ----------

:: 運(yùn)行時(shí)變量
set EXE_SSH=%~dp0\exe\plink.exe
set EXE_SCP=%~dp0\exe\pscp.exe
set LINUX=%~dp0\linux

set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%
set TRUE_PATH=%SAVE_PATH%%YEAR%-%MONTH%-%DAY%\

:: 創(chuàng)建備份路徑
echo Creating Backup Dir...
if not exist %TRUE_PATH% (
mkdir %TRUE_PATH% 2>nul
)
if not exist %TRUE_PATH% (
echo Backup path: %TRUE_PATH% not exists, create dir failed.
goto exit
)
echo Creating Backup Dir... Done.

:: 生成備份目錄和文件
echo Connecting to remote server and creating backups...
%EXE_SSH% -C %USER%@%SERVER% -P %PORT% -pw %PASSWORD% -m %LINUX% 2>nul
echo Connecting to remote server and creating backups... Done.

:: 下載備份
echo Downloading backups...
%EXE_SCP% -pw %PASSWORD% -P %PORT% %USER%@%SERVER%:%BACKUP_PATH%/*.* %TRUE_PATH%
echo Downloading backups... Done.

:exit
echo Exit

由 index.bat 調(diào)用的 Linux 端命令
復(fù)制代碼 代碼如下:

#!/bin/bash

PATH=/usr/local/sbin:/usr/bin:/bin

# ---------- 配置項(xiàng),不要最后的 / ----------

# 備份文件存儲的路徑,請與 index.bat 中的 BACKUP_PATH 保持一致
BACKUP_PATH=/root/backup

# 要備份的文件或目錄,多個(gè)以空格分隔
FILES="/www/cmstop /www/dbpma"

# mysqldump 可執(zhí)行文件的全路徑(如果可以直接執(zhí)行 mysqldump 可不用全路徑)
MYSQLDUMP=mysqldump

# 要備份的 MySQL 數(shù)據(jù)庫,多個(gè)以空格分隔
DATABASES="mysql test"

# MySQL 用戶名
USER=root

# MySQL 密碼
PASSWD=

# ---------- 配置項(xiàng)結(jié)束,下面的不用修改 ----------

# 運(yùn)行時(shí)變量
DATETIME=$(date -d now +%Y-%m-%d)
CURPATH=$(cd "$(dirname "$0")"; pwd)

# 創(chuàng)建備份目錄
if [ ! -d $BACKUP_PATH ]; then
mkdir -p $BACKUP_PATH
fi

rm -fR $BACKUP_PATH/*

# 備份 MySQL 數(shù)據(jù)庫
cd $BACKUP_PATH
for database in $DATABASES
do
if [ "$PASSWD" == "" ]; then
$MYSQLDUMP -u$USER $database > $database.$DATETIME.dump.sql
else
$MYSQLDUMP -u$USER -p$PASSWD $database > $database.$DATETIME.dump.sql
fi
tar czf $database.$DATETIME.dump.sql.tar.gz $database.$DATETIME.dump.sql
rm -f $database.$DATETIME.dump.sql
done

# 備份文件或目錄
for file in $FILES
do
tar czf $file.$DATETIME.tar.gz $file
mv $file.$DATETIME.tar.gz $BACKUP_PATH
done

# 完成
cd $CURPATH
exit

下載完成之后不刪除服務(wù)器上產(chǎn)生的備份文件,因?yàn)橄乱淮蝹浞萸皶詣忧宄?
下載和使用 下載地址
下載文件到你本機(jī),解壓到某個(gè)地方,然后根據(jù)上文的說明修改配置項(xiàng);
由于 SSH 第一次登錄需要添加 Key 到本機(jī),這一步?jīng)]法簡單忽略,可行的辦法是載入 Putty 的 Session,不過挺麻煩的,還是運(yùn)行一次簡單些,我們要執(zhí)行一次 SSH 登錄:
復(fù)制代碼 代碼如下:

:: 切換到你解壓到的目錄,如 D:\VPS\:
cd /d D:\VPS\

:: 根據(jù)情況修改下面的參數(shù)
exe\plink.exe -C root@192.168.1.100 -P 22 -pw password

:: 等待一下,會提示是否將 Key 加入本機(jī)信任主機(jī)列表里面,輸入 yes 就可以了。
yes

:: 這就進(jìn)去了,輸入點(diǎn)常用命令玩玩,輸入 exit 退出。
exit

根據(jù)這一篇文章的介紹,添加一個(gè)定時(shí)執(zhí)行的計(jì)劃任務(wù);
手動執(zhí)行一下上面添加的計(jì)劃任務(wù)或觀察一個(gè)執(zhí)行周期,看備份是否有效。
待改進(jìn)
同之前的腳本一樣,似乎還缺少一個(gè)自動刪除多少天前備份的功能。

相關(guān)文章

  • MySQL中批量刪除指定前綴表的sql語句

    MySQL中批量刪除指定前綴表的sql語句

    有時(shí)候我們在安裝一些cms的時(shí)候,這些cms都是帶表前綴的方便區(qū)分?jǐn)?shù)據(jù),但有時(shí)候我們測試完需要刪除的時(shí)候又有別的前綴表就可以參考下面的方法
    2013-06-06
  • mysql為字段添加和刪除唯一性索引(unique) 的方法

    mysql為字段添加和刪除唯一性索引(unique) 的方法

    下面小編就為大家?guī)硪黄猰ysql為字段添加和刪除唯一性索引(unique) 的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 超詳細(xì)的mysql圖文安裝教程

    超詳細(xì)的mysql圖文安裝教程

    這篇文章主要為大家分享了一份超詳細(xì)的mysql圖文安裝教程,安裝步驟有詳細(xì)的說明,,需要的朋友可以參考下
    2016-05-05
  • 利用tcpdump對mysql進(jìn)行抓包操作技巧

    利用tcpdump對mysql進(jìn)行抓包操作技巧

    利用tcpdump對mysql進(jìn)行抓包操作,命令簡單,非常不錯,具有參考借鑒價(jià)值,需要的朋友參考下吧
    2016-12-12
  • winxp 安裝MYSQL 出現(xiàn)Error 1045 access denied 的解決方法

    winxp 安裝MYSQL 出現(xiàn)Error 1045 access denied 的解決方法

    自己遇到了這個(gè)問題,也找了很久才解決,就整理一下,希望對大家有幫助!
    2010-07-07
  • MySQL5.7完全卸載步驟詳解

    MySQL5.7完全卸載步驟詳解

    這篇文章主要介紹了MySQL5.7完全卸載的詳細(xì)步驟以及把中間遇到的問題做了分析,需要的朋友跟著操作下吧。
    2018-02-02
  • Mysql升級到5.7后遇到的group by查詢問題解決

    Mysql升級到5.7后遇到的group by查詢問題解決

    這篇文章主要給大家介紹了關(guān)于Mysql升級到5.7后遇到的group by查詢問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對同樣遇到這個(gè)問題的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • mysql中TINYINT的取值范圍

    mysql中TINYINT的取值范圍

    這篇文章主要介紹了mysql中TINYINT的取值范圍,需要的朋友可以參考下
    2014-08-08
  • MySQL之高可用集群部署及故障切換實(shí)現(xiàn)

    MySQL之高可用集群部署及故障切換實(shí)現(xiàn)

    這篇文章主要介紹了MySQL之高可用集群部署及故障切換實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • MySQL開放遠(yuǎn)程連接權(quán)限的兩種方法

    MySQL開放遠(yuǎn)程連接權(quán)限的兩種方法

    在我們使用mysql數(shù)據(jù)庫時(shí),有時(shí)我們的程序與數(shù)據(jù)庫不在同一機(jī)器上,這時(shí)我們需要遠(yuǎn)程訪問數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于MySQL開放遠(yuǎn)程連接權(quán)限的兩種方法,需要的朋友可以參考下
    2022-06-06

最新評論