文件比較與同步工具——FreeFileSync

1. 基本介紹

FreeFileSync是一個用於文件同步的免費開源程序。FreeFileSync經過比較其內容,日期或文件大小上的一個或多個文件夾,而後根據用戶定義的設置同步內容。除了支持本地文件系統和網絡共享以外,FreeFileSync還可以同步到FTP,FTPS,SFTP和MTP設備。數據庫

下載網址:https://freefilesync.org/服務器

支持系統:Windows,Linux和macOS網絡

2. 基本操做

2.1 軟件界面及功能

1:快捷工具窗口工具

2:保存/加載配置xml

3:文件比較縮略圖blog

4:開始比較文件差別按鈕資源

5:文件比較設置get

6:過濾條件設置同步

7:修改同步設置it

8:同步按鈕

9:源文件目錄設置

10:待同步文件目錄

11:源文件目錄與待同步目錄不一樣的文件列表

12:同步預覽區域

13:待同步文件與源文件不一樣的列表

14:同步統計

2.2 同步文件步驟

(1)       設置源文件目錄

(2)       設置待同步文件目錄

(3)       設置文件比較方式(比較內容、時間、大小)

(4)       設置同步參數(雙向、鏡像、更新及自定義)

(5)       點擊同步按鈕

 

3. 文件比較設置

 

比較兩個文件夾時,FreeFileSync會分析相對於包含文件的左右基本文件夾的路徑。若是相對路徑匹配,FreeFileSync將經過考慮所選的比較變量來決定文件對的分類方式:

3.1 按文件時間和大小進行比較

當變體時間和文件大小匹配時,此變體認爲兩個文件相等。在將文件與備份位置同步時應該選擇它。每當更改文件時,其文件修改時間也會更新。所以,按文件時間和大小進行比較將檢測應同步的全部文件。區分如下類別:

(1)文件僅存在於一側

    ->僅在左側

    ->僅在右側

(2)文件存在於雙側

    ->不一樣時間——左側文件較新/右側文件較新

    ->相同時間——相同文件/衝突(文件時間一致,大小不同)

3.2  按文件內容比較

若是兩個文件具備相同的內容,則將它們標記爲相等。在進行一致性檢查時應選擇此變體,以查看兩側的文件是否按位相同。固然,它是全部比較變體中最慢的,所以其用於同步目的的有用性是有限的。若是用於同步,則當修改時間不可靠時,它能夠用做後備。例如,某些移動電話和傳統FTP服務器不會保留修改時間,所以在文件大小相同時檢測不一樣文件的惟一方法是閱讀其內容。

(1)文件僅存在於一側

    ->僅在左側

    ->僅在右側

(2)文件存在於雙側

    ->相同文件

    ->內容不一樣

3.3  按文件大小比較

若是文件大小相同,則認爲兩個文件相同。因爲具備相同大小的文件可能具備不一樣的內容,所以僅當文件修改時間不可用或不可靠時才應使用此變體,例如,在某些MTP和FTP同步方案中,按內容進行比較的速度太慢。

(1)文件僅存在於一側

    ->僅在左側

    ->僅在右側

(2)文件存在於雙側

    ->相同文件

    ->大小不一樣

 

4. 文件過濾設置

若是文件和目錄經過全部過濾規則,則僅考慮進行同步。它們必須匹配包含列表中的至少一個條目,而且不包括過濾器配置對話框中顯示的排除列表中的任何條目:

  每一個列表項必須是相對於同步基目錄的文件或目錄路徑。

  必須用|分隔多個項目或新行。

  *和?使用:*表示零個或多個字符,而?表明一個字符。

(1)從文件夾對C:\ Source,D:\ Target中排除項目

過濾文件描述

過濾實例

過濾文件:C:\Source\file.txt

\file.txt

過濾單個文件夾:C:\Source\SubFolder

\SubFolder\

全部名字爲thumbs.db的文件

*\thumbs.db

全部在SubFolder文件夾的*.tmp文件

\SubFolder\*.tmp

文件或路徑包含temp

*temp*

多類文件過濾

*.tmp | *.doc | *.bak

根目錄全部子文件夾

*\

子文件夾裏的*.txt文件

\*\*.txt

(2)排除除某些文件以外的子文件夾

設置兩個具備相同源和目標路徑但具備不一樣本地過濾器的文件夾對:

文件夾1:排除文件夾:   \SubFolder\

文件夾2:包含文件:  \SubFolder\*.txt

(3)排除空文件夾

文件大小爲零的過濾器設置文件大小過濾器,下限爲0個字節。 時間跨度和文件大小過濾器僅匹配文件,所以這將排除全部文件夾。 然而,在同步期間,若是一些排除的文件夾包含至少一個非排除的項目,即當它們不是空的時,它們仍將被同步

 

5. 同步設置

 

同步模式

雙向——將左側的更改同步到右側,將右側的更改同步到左側

鏡像——將左側的更改同步到右側,包含刪除移動等

更新——將左側的更改同步到右側,不刪除右側原有的文件

自定義——自行根據須要定義同步模式

檢測已移動的文件

FreeFileSync可以在一側檢測移動的文件,而且能夠在同步期間快速在目標端應用相同的移動,而不是慢速複製和刪除。 爲了使其工做,FreeFileSync須要數據庫文件(sync.ffs_db)來比較當前文件系統狀態與上次同步的時間。

雙向——已經建立了數據庫文件,所以,移動文件的檢測始終處於活動狀態。

鏡像——不須要數據庫文件來查找同步方向,所以默認狀況下沒法檢測已移動的文件。

若是您不介意建立數據庫文件,能夠經過選中「檢測已移動的文件」複選框來啓用此功能。

注意

第一次同步文件夾對時,沒法檢測已移動的文件。 只有從第二次同步開始,數據庫文件纔可用於肯定移動的文件。

全部文件系統都不支持檢測。 最值得注意的是,沒法檢測FAT文件系統上的某些文件移動。 還有虛擬化的文件系統,例如 安裝的WebDAV驅動器可能不支持移動檢測。 在這些狀況下,FreeFileSync將自動回退複製和刪除。

 

6. 高級設置

FreeFileSync具備許多專用設置,只能經過手動打開全局配置文件GlobalSettings.xml來訪問。請注意,FreeFileSync啓動時會讀取此文件一次,退出時會再次保存。所以,僅在FreeFileSync未運行時才應用手動更改。對於便攜式FreeFileSync變體,該文件位於安裝文件夾中,對於本地安裝,請轉到:

Windows:       %AppData%\FreeFileSync

Linux:     ~/.config/FreeFileSync

macOS:   ~/Library/Application Support/FreeFileSync

FileTimeTolerance

默認狀況下,文件修改時間容許有2秒的差別,但仍被視爲相等。這是FAT / FAT32文件系統所要求的,它只能以2秒的精度存儲文件時間。

RunWithBackgroundPriority

在同步正在運行時,訪問相同數據位置的其餘應用程序可能會出現明顯的減速。啓用此設置可下降FreeFileSync的資源消耗,但代價是同步速度明顯下降。

LockDirectoriesDuringSync

爲了防止多個同步任務讀取和寫入相同的文件,FreeFileSync實例使用鎖定文件(sync.ffs_lock)進行序列化。鎖文件只能由FreeFileSync識別,並確保最多隻能同時對某個文件夾運行單個同步,而其餘實例排隊等待。這可確保只有一致的文件集才能同步。主要用例是網絡同步方案,其中多個用戶針對共享網絡文件夾同時運行FreeFileSync。

VerifyCopiedFiles

若是處於活動狀態,FreeFileSync將在複製後對源文件和目標文件進行二進制比較並報告驗證錯誤。請注意,這可能會使文件複製時間翻倍,而且沒法保證數據在複製以前還沒有損壞。此外,欺騙性地從應用程序和硬件堆棧中的各類緩衝區中讀取有效數據可能會隱藏損壞:

NotificationSound

從比較或同步後要播放的FreeFileSync安裝目錄中選擇聲音文件。若是不播放聲音,請設置空名稱。

相關文章
相關標籤/搜索