程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 文件備份的幾個簡單命令

文件備份的幾個簡單命令

編輯:關於C語言
 

我們知道,備份文件是一件很重要的事情,我在《優秀程序員的十個習慣》一文向大家說明了備份文件應該是程序員最基本的一個習慣。本文主要是向大家介紹一些在備份文件和數據時能用得到的一些示例,當然,這些示例主要是通過一些命令行或是腳本來實現的。這就是用命令行和腳本的優勢,你可以實現比較靈活和自動的定制。

本文中的腳本和示例都是主要是通過zip, tar, ftp, wget和shell腳本來完成。在Linux下,你可以什麼也不用安裝任何程序,但在Windows下,你需要安裝zip 和wget這三個命令(在本文的最後有這三個命令的鏈接,你可以去下載)

幾個小腳本

1)首先,我們來看一下,如何給某目錄打個zip包。

Windows:

 zip -r backup.zip "c:\yourfolder"

Linux: (打包自己的home目錄)

tar -czvf ~/backup.tgz --exclude backup.tgz ~/


2)接下來,我們再來看一下,創建一個帶有時間文件名的壓縮包,並上傳到遠程主機的一個例子。

 Windows

  :: cmd 腳本
  :: 壓縮包文件格式`backup-mm-dd-yyyy.zip'
  :: 注意:%dir% 被引號括起是怕目錄名中有空格

  @echo off

  set host=ftp.yourhost.com
  set user=username
  set pass=password
  set file=backup-%date:~4,2%-%date:~7,2%-%date:~10%.zip
  set dir="yourfolder"

  zip -r %file% %dir%

  >  script.ftp echo open %host%
  >> script.ftp echo %user%
  >> script.ftp echo %pass%
  >> script.ftp echo bin
  >> script.ftp echo put %file%
  >> script.ftp echo bye

  ftp.exe -d -s:script.ftp > backup.log

  del script.ftp

Linux

  #!/bin/bash

  host="ftp.yoursite.com"
  user="username"
  pass="password"
  file="backup-$(date '+%m-%d-%Y').tgz"
  dir="$HOME"

  tar -cvzf $file $dir

  ftp -vin <ftp.log
  open $host
  user $user $pass
  bin
  put $file
  close
  bye
  EOF

3)最後,我們來看一看,通過wget命令來下載備份好的壓縮包。

Windows

  :: cmd 腳本
  :: 注意: '^' 是一個命令的換行符

  set host="ftp://ftp.your.host.com"
  set user="flintstone"
  set pass="yabbadabbadoo"

  wget %host% --ftp-user=%user% --ftp-password=%pass% ^ 
      --mirror --output-file=backup.log --passive-ftp

Linux

  #!/bin/sh
  # 注意 '\' 是命令的換行符
  
  host="ftp://ftp.your.host.com"
  user="username"
  pass="password"

  wget $host --ftp-user=$user --ftp-password=$pass \
  --mirror --output-file=backup.log --passive-ftp

相關工具

  • Info-Zip: http://www.info-zip.org/
  • GNU Tar: http://www.gnu.org/software/tar/
  • GNU Wget: http://www.gnu.org/software/wget/

幾點注意

上面的那幾個命令比較簡單,只是表明一些備份的腳本思路。在實際過程當中,基本上也是這樣,下面是幾點注意。

1)給備份文件打包壓縮這是第一步,你可以選用其它的壓縮程序。如bzip。
2)文件名上有時間信息比較容易歸檔。有時候,文件包比較大,還需要對大文件進行分割(一般的壓縮軟件都支持文件分割)。
3)使用wget和ftp可能會有用戶名密碼洩露的問題,使用ssh拷貝文件會比較好。
4)源代碼最好還是使用版本控制工具備份(比如Subversion或CVS)
5)備份腳本可以放在計劃任務(linux是corn)中以實際自動化。
6)以上的方法一般說來比較適用於全部備份,而不是增量備份。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved