Skip to main content

FreeFileSync Free Application

Download FreeFileSync App link: https://freefilesync.org/download.php 


Install the Application first and for RealtimeSync follow instruction below.


RealTimeSyncRealTimeSync

— Automated Synchronization —


The function of RealTimeSync is to execute a command line each time it detects changes in one of the monitored directories, or when a directory becomes available (e. g. insert of a USB-stick). Usually this command line will trigger a FreeFileSync batch job.

RealTimeSync receives change notifications directly from the operating system in order to avoid the overhead of repeatedly polling for changes. Each time a file or folder is created/updated/deleted in the monitored directories or their sub directories, RealTimeSync waits until a user-configurable idle time has passed in which no further changes were detected, and then runs the command line. This makes sure the monitored folders are not in heavy use when starting a synchronization.

Example: Real time synchronization using FreeFileSync

Start RealTimeSync.exe located in FreeFileSync's installation directory and enter the folders you want to monitor. Instead of doing this manually you can import an ffs_batch file via Menu → File → Open or simply via drag and drop. RealTimeSync will not only extract all directories relevant for synchronization, but will also set up the command line to execute the ffs_batch file each time changes are detected. Now press Start to begin monitoring.
RealTimeSync main window

 
Note
  • The command should not block progress. If you call a FreeFileSync batch job, make sure it won't show any popup dialogs. See notes in Command Line Usage.
  • RealTimeSync will skip showing the main dialog and begin monitoring immediately if you pass an ffs_real configuration file as the first command line argument to RealTimeSync.exe. This can be used to integrate RealTimeSync into the operating system's auto start:
     
    "C:\Program Files\FreeFileSync\RealTimeSync.exe" "D:\Backup Projects.ffs_real"
  • You can also pass an ffs_batch file as first argument, which RealTimeSync will automatically convert into a ffs_real configuration with default settings (e.g. 10 seconds idle time).
  • RealTimeSync does not require you to start FreeFileSync. It can also be used in other scenarios, like sending an email whenever a certain directory is modified.


Example: Automatic synchronization when a USB stick is inserted

Save an ffs_batch configuration in the USB stick's root directory, e.g. H:\ and let FreeFileSync run it when the stick is mounted. But, instead of hard coding the USB drive letter H:\ (which may change occasionally), refer to the USB stick via its volume name instead.

Configure RealTimeSync as follows:

 
Monitor USB stick insert
"Backup" is the volume name of the USB stick in our example.



Whenever directory H:\Data becomes available, RealTimeSync executes the command line which starts the batch job located on the stick. RealTimeSync will also trigger each time files are modified in H:\Data.

Note
The full path of the last changed file and the action that triggered the change notification (create, update or delete) are written to the environment variables %change_path% and %change_action%.
They are only visible for the command line that RealTimeSync is executing.


Example: Log names of changed files and directories

Write a list of all changes to a log file: (Windows)

echo %change_action% %change_path% >> %csidl_Desktop%\log.txt


Write a list of all changes to a log file: (Linux/macOS)

echo $change_action $change_path >> ~/Desktop/log.txt


Limitations:

  • If multiple changes happen at the same time, only the path of the first file is written to variable %change_path%.

  • While RealTimeSync is executing the command line, monitoring for changed files is temporarily inactive.

  • RealTimeSync relies on receiving change notifications from the operating system. In some cases it just doesn't receive any, e.g. a network path with badly-written/incomplete driver implementation. These buggy drivers often do not fail with an error code, but just do nothing.


The command line usually starts a synchronization task using FreeFileSync which naturally leads to additional file change notifications. Therefore, the RealTimeSync change detection has to be deactivated to not go into an endless loop. On the other hand, it is not likely that changes (other than those from FreeFileSync) happen in first place since RealTimeSync runs the command line only after the user-specified idle time has passed. In any case, files changed during the execution of FreeFileSync will be synchronized the next time FreeFileSync runs.


Comments

Popular posts from this blog

Reset 120 day RDS Grace period on 2016 and 2019

  Reset 120 day RDS Grace period on 2016 and 2019 Enter the following command to check Grace Period: wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !=””) CALL GetGracePeriodDays  Confirm-deletion-of-the-timebomb-key-in-the-registry If you have a home lab environment or another lab where you continually test various solutions, licensing, and trial expiration is a challenge that you constantly tend to run into. It is just part of the fun of lab environments. While most trials are fairly “hard and fast” and don’t allow you to reset the trial expiration, if you work with Microsoft Windows Server and Remote Desktop Services (RDS), there is a “hack” that allows you to effectively reset the expiration of  Remote Desktop  Services grace period where you can essentially rewind the clock on your RDS licensing if you are making use of this role inside your lab environment. I am using Windows Server 2019 for my Windows workloads in my lab environment

Remote Desktop Services session timeout Setup in RD Session Host in Windows Servers

  If you face a session time-limit policy issue that gets disconnected in the meantime. You can follow the steps below in order to fix the issue, By default, the user’s RDP session in Windows may stay disconnected until the user or administrator terminates, or the computer is restarted. However, it is quite convenient since a user may connect to his old RDP session and go on working with running programs. In order to terminate disconnected RDP/RDS sessions automatically in a specified time period, you need to set session limits (time-outs) correctly. If you are using an RDS server, you will have to configure session time-out parameters from the RDS collection settings in the Session tab menu. You will have to Specify the time period after which you want to disconnect the RDP session. Lastly, a disconnected session option (by default, a session period is unlimited – Never). Thus, you can set the maximum duration of an active session (Active session limit) and end an idle session (Idle s

GitLab Repository Command Line Instructions

Start project repository Command line instructions You can also upload existing files from your computer using the instructions below. Git global setup git config --global user.name "Jaime Moncada" git config --global user.email "jaimemoncadajr@gmail.com" Create a new repository git clone https://gitlab.com/jaimemoncadajr/library-system.git cd library-system touch README.md git add README.md git commit -m "add README" git push -u origin master Push an existing folder cd existing_folder git init git remote add origin https://gitlab.com/jaimemoncadajr/library-system.git git add . git commit -m "Initial commit" git push -u origin master Push an existing Git repository cd existing_repo git remote rename origin old-origin git remote add origin https://gitlab.com/jaimemoncadajr/library-system.git git push -u origin --all git push -u origin --tags Credit :  https://gitlab.com OR Simple Way to Push an existing