iT邦幫忙

0

如何用batch排程每日備份從A到B主機+日期時間(已解決)

Can 2021-07-07 16:06:57841 瀏覽

我會把檔案A搬到B但每天我們會產生的檔案會有年月日時分秒這就讓我頭痛不知道怎麼寫了

@ECHO ON

chcp 65001
rem 在命令提示視窗Command Prompt顯示UTF-8內容

set a=C:\Program Files\7-Zip\7zG.exe
rem 找尋zip

@REM 日期與時間
@set D=%date:/=%
@set T=%time:~0,2%%time:~3,2%%time:~6,2%
@set TempDir=C:\Users\a\Desktop\每季要寄的資料

7z a -tzip C:\Users\a\Desktop\每季要寄的資料%T% %TempDir%
rem zip file and documents
rem set zip name and search what we need to zip

copy C:\Users\a\Desktop\每季要寄的資料%T%.zip d:
rem copy zip file from a to b

pause

剛剛查到+自己修改後的 但是加了日期檔案就傳不過去了


已解決

@ECHO ON

chcp 65001
@ECHO rem 在命令提示視窗Command Prompt顯示UTF-8內容

set a=C:\Program Files\7-Zip\7zG.exe
rem 找尋zip

@REM 日期與時間 因為編碼會從big5改成UTF-8所以日期顯示會是 如週四 2021/7/8 所以才要從第四碼開始取
@set D=%date:~3,4%%date:~8,2%%date:~11,2%
@set T=%time:~0,2%%time:~3,2%%time:~6,2%
@set TempDir=C:\Users\a\Desktop\a

7z a -tzip %TempDir%%D%%T%.zip %TempDir%
rem zip file and documents
rem set zip name and search what we need to zip

copy %TempDir%%D%%T%.zip d:
rem copy zip file from a to b

pause

看更多先前的討論...收起先前的討論...
那你應該使用有顏色區分的編輯器,如VSCode或Notepad++,而不是記事本
Can iT邦新手 5 級 ‧ 2021-07-08 10:29:27 檢舉
這也是一個方法吼
竹本立里 iT邦研究生 1 級 ‧ 2021-07-09 09:33:36 檢舉
注意早上10點前抓到的時間正不正常
Can iT邦新手 5 級 ‧ 2021-07-13 10:14:59 檢舉
早上十點前會少個0

2 個回答

1
japhenchen
iT邦大師 1 級 ‧ 2021-07-07 16:11:51

...........;單純用批次檔的話,我建議配合ROBOCOPY,可以把檔案複製到另一台主機上

借花
https://ithelp.ithome.com.tw/questions/10189400
(ROBOCOPY已內建在比較新的Windows系統上,2008R2以上都內建)

批次檔寫好之後再自行用工作排程安排時間

0
國際 IT 人
iT邦高手 1 級 ‧ 2021-07-08 11:55:42

雖然用批次檔很 smart,但可能有狀況會發生,所以我用比較呆板、傳統作法:

  1. A 檔案產生後轉到中介目錄去
  2. 備份系統定期到中介目錄去把所有檔案複製過去
  3. 備份完,中介目錄全數刪除
Can iT邦新手 5 級 ‧ 2021-07-11 00:37:01 檢舉

請問像這種作法該怎麼做呢 中介目錄這個名詞看不太懂

  1. 主機 A (檔案產生地) -> 主機 B (中介設備) -> 備份主機
  2. 定期清空主機 B (每天 or 一周 or 一個月,看你檔案大小與主機 B 空間)
Can iT邦新手 5 級 ‧ 2021-07-13 10:14:14 檢舉

了解,謝謝你喔國際 IT 人

我要發表回答

立即登入回答