Windows 2000 / XP 檔案備份批次命令

環境:
* Host A: Windows 2000 檔案伺服器
* Host B: Linux with FTP daemon
目的:
* 以 RAR 製作壓縮備份檔
* FTP 傳輸壓縮備份檔至另一台電腦
* Host A 只保留最近一個壓縮檔, Host B 保留最近三個壓縮檔 (以檔名區分)
From:http://cha.homeip.net/blog/archives/2005/10/windows_2000_xp.html

Host A (Windows 2000):

檔案名稱 說明
action.bat 主批次檔
public.rar 完成備份的壓縮檔
public.ssh Linux 批次命令檔
public.ftp FTP 批次命令檔
rar.exe RAR 壓縮軟體
putty.exe SSH 連結軟體

action.bat

@echooff
setcurrentdate=%DATE:~-10%
setcurrentdate=%currentdate:/=%
rarf-as-m5public.rarc:public
renpublic.rarpublic_%currentdate%.rar
putty-ssh<linux_ip>-l<account>-pw<password>-mpublic.ssh
ftp-v-n-i-s:public.ftp
renpublic_%currentdate%.rarpublic.rar

public.ssh

cd/backup;./del_3rd_bkfile.sh

public.ftp

open<linux_ip>
user
<account>
<password>
bin
mputpublic_*.rar
quit
指令 說明 輸出範例
ECHO %DATE% 取得目前日期字串 星期二 2005/10/25
ECHO %DATE:~-10% 取出變數右邊10個字元 2005/10/25
ECHO %DATE:/=% 將變數里的 "/" 字元全部變成空字串 星期二 20051025
RAR f -as -m5 f = 更新壓縮檔裡的檔案
-as = 同步壓縮檔, 使壓縮檔內容與目的路徑內容一致
-m5 = 最大壓縮比
ftp -v -n -i -s:<batchfile> -v = 不顯示 FTP Server 回應的訊息
-n = 連線後不提示登入訊息
-i = 執行 mget / mput 多檔傳輸指令時不使用互動模式
-s = 引用批次指令檔

P.S.
1.需先建立 public.rar (rar 參數: a) 才能以 f 參數更新壓縮檔內容
2.Windows XP 日期格式為:「2005/10/25 星期二」, 日期取得須改為: %DATE=:~0,10% (取出左邊10個字元)
Host B (Linux):
/backup/del_3rd_bkfile.sh

#!/bin/bash
filecount=`ls -l public_*.rar | wc -l`
if [ $filecount -eq 3 ]; then
filename=`ls public_*.rar | head -n 1`
rm -f $filename
fi

邏輯說明:如果備份檔案數量達到 3 個,則刪除最舊的那個備份檔案。

Please follow and like us:

One comment on “Windows 2000 / XP 檔案備份批次命令

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *