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


1. 基本介紹

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

下載網址:https://freefilesync.org/

支持系統:Windows,Linux和macOS

2. 基本操作

2.1 軟件界面及功能

1:快捷工具窗口

2:保存/加載配置

3:文件比較縮略圖

4:開始比較文件差異按鈕

5:文件比較設置

6:過濾條件設置

7:修改同步設置

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安裝目錄中選擇聲音文件。如果不播放聲音,請設置空名稱。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM