復制代碼 代碼如下:
Windows 下負責觸發備份的 index.bat
@echo off & setlocal ENABLEEXTENSIONS
:: 這里只是 SSH 連接和備份路徑配置信息
:: 請同時修改同目錄下 linux 文件中要備份的路徑和 MySQL 數據庫
:: SSH 相關信息
set SERVER=192.168.1.100
set PORT=22
set USER=root
set PASSWORD=password
:: 和同目錄下 linux 文件中配置的路徑對應
set BACKUP_PATH=/root/backup
:: 備份要下載到的本機位置(會自動創建)
set SAVE_PATH=D:/Backup/
:: ---------- 配置結束,以下請勿修改 ----------
:: 運行時變量
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%/
:: 創建備份路徑
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
復制代碼 代碼如下:
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# ---------- 配置項,不要最后的 / ----------
# 備份文件存儲的路徑,請與 index.bat 中的 BACKUP_PATH 保持一致
BACKUP_PATH=/root/backup
# 要備份的文件或目錄,多個以空格分隔
FILES="/www/cmstop /www/dbpma"
# mysqldump 可執行文件的全路徑(如果可以直接執行 mysqldump 可不用全路徑)
MYSQLDUMP=mysqldump
# 要備份的 MySQL 數據庫,多個以空格分隔
DATABASES="mysql test"
# MySQL 用戶名
USER=root
# MySQL 密碼
PASSWD=
# ---------- 配置項結束,下面的不用修改 ----------
# 運行時變量
DATETIME=$(date -d now +%Y-%m-%d)
CURPATH=$(cd "$(dirname "$0")"; pwd)
# 創建備份目錄
if [ ! -d $BACKUP_PATH ]; then
mkdir -p $BACKUP_PATH
fi
rm -fR $BACKUP_PATH/*
# 備份 MySQL 數據庫
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
復制代碼 代碼如下:
:: 切換到你解壓到的目錄,如 D:/VPS/:
cd /d D:/VPS/
:: 根據情況修改下面的參數
exe/plink.exe -C root@192.168.1.100 -P 22 -pw password
:: 等待一下,會提示是否將 Key 加入本機信任主機列表里面,輸入 yes 就可以了。
yes
:: 這就進去了,輸入點常用命令玩玩,輸入 exit 退出。
exit
新聞熱點
疑難解答