blob: 0b983f60d8bad70ea8d657759da3de62703a163b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="base.css" >
<title>RealtimeSync - Automated Synchronization</title>
</head>
<body>
<h1 style="text-align: center">
<img src="../images/RTS-logo.png" alt="RealtimeSync"><br>
<i><span style="font-weight: normal">Automated Synchronization</span></i>
</h1>
<p>
The primary purpose of RealtimeSync is to execute a command line each time it <b>detects changes</b> in one of the monitored directories
or when a <b>directory becomes available</b> (e. g. insert of a USB-stick). Usually this command line will trigger a FreeFileSync batch job.
</p>
<br>
<h2>Example: <span style="font-weight:normal">Real time synchronization - in combination with FreeFileSync</span></h2>
<p>
Start RealtimeSync.exe located in FreeFileSync's installation directory and
enter all folders you want to monitor. Instead of doing this manually you can import a ffs_batch
file via <b>Menu → File → Open</b>. This not only extracts all directories relevant for synchronization
but also sets up the command line to execute the ffs_batch file each time changes are detected.
Now press <b>Start</b> to begin monitoring.
</p>
<div style="margin-left: 1.3cm">
<img src="../images/RealtimeSync.png" alt="RealtimeSync main window">
</div>
<br>
<div class="box-outer"><div class="bluebox"><div class="box-inner">
<b>Note</b>
<ul style="margin: 0">
<li>The command should <b>not</b> <b>block</b> progress. If you call a FreeFileSync batch job, make
sure it does not show any popup windows. See notes in <a href="command-line.html">Command Line Usage</a>.
<br>
<li>RealtimeSync will skip showing the main dialog and begin monitoring immediately if
you pass a ffs_real configuration file <b>or</b> a FreeFileSync ffs_batch file as first
command line argument to RealtimeSync.exe. This helps you integrate RealtimeSync into your operating system's auto start:<br>
<div class="command-line"> "C:\Program Files\FreeFileSync\RealtimeSync.exe" "D:\Backup Projects.ffs_real"</div>
<div class="command-line"> "C:\Program Files\FreeFileSync\RealtimeSync.exe" "D:\Backup Projects.ffs_batch"</div>
<br>
<li>RealtimeSync is not tied to starting FreeFileSync. It can also be used in other scenarios, like sending an email whenever a certain directory is modified.
</ul>
</div></div></div>
<br>
<br>
<h2>Example: <span style="font-weight:normal">Automatic synchronization when a USB stick is inserted</span></h2>
<p>
Save a ffs_batch configuration in the USB stick's root directory,
e.g. <span class="file-path">H:\</span> and let FreeFileSync run it when the stick is mounted.
But instead of hard coding the USB drive letter <span class="file-path">H:\</span> (which may change occasionally),
refer to the USB stick via its <a href="variable-drive-letters.html">volume name</a> instead.<br>
<br>
Configure RealtimeSync as follows:<br>
</p>
<div style="display:inline-block; margin-left: 1.3cm; text-align: center;">
<img src="../images/monitor-usb-insert.png" alt="Monitor USB stick insert"><br>
<i>"Backup" is the volume name of the USB stick in our example.</i>
</div>
<p>
Whenever directory <span class="file-path">H:\Data</span> 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 <span class="file-path">H:\Data</span>.
</p>
<div class="box-outer"><div class="bluebox"><div class="box-inner">
<b>Note</b><br>
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 <b><span class="command-line">%change_path%</span></b> and <b><span class="command-line">%change_action%</span></b>.
</div></div></div>
<br>
<br>
<h2>Example: <span style="font-weight:normal">Log names of changed files and directories (Windows)</span></h2>
<p>
<div class="box-outer"><div class="greybox"><div class="box-inner">
Show which file or directory has triggered a change. Enter command line:<br>
<div class="command-line">
cmd /c echo %change_action% "%change_path%" & pause
</div>
<br>
Write a list of all changes to a log file:<br>
<div class="command-line">
cmd /c echo %change_action% "%change_path%" >> %UserProfile%\Desktop\log.txt
</div>
</div></div></div>
</p>
<div class="box-outer"><div class="bluebox"><div class="box-inner">
<b>Note</b><br>
When RealtimeSync executes a Windows batch file (bat or cmd) a black console window is shown. You can hide it using the Visual Basic script
<span class="file-path">HideConsole.vbs</span> located in FreeFileSync's installation directory:
<br><br>
<div class="command-line">wscript "C:\Program files\FreeFileSync\HideConsole.vbs" C:\MyBatchFile.cmd</div>
</div></div></div>
<br>
<br>
<h2>Limitations:</h2>
<ul>
<li>If multiple changes happen at the same time, only the name of the first file is written to variable <b><span class="command-line">%changed_file%</span></b>.
<li>While RealtimeSync is executing the command line, monitoring is inactive and changes occurring during this time are not detected.
</ul>
</body>
</html>
|