Do not directly print this help file from the Microsoft help viewer ... The final section of this Quick Start guide shows you how to Run Your Profile.
Usage: Backup files on your local C drive onto an external USB drive. ... Enter a name for your profile and tick the This.
If you have never backed up data before, we advise you read the Quick Start Guide which explains the fundamentals about different kinds of backup.
SyncBackPro V10 PDF User Guide © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. I SyncBackPro Help Table of Contents Foreword 1 Part I Welcome to SyncBackPro 2 1 Help us.i.n..g...S..y..n..c..B..a..c..k..P..r.o......................................................................................................... 8 2 How to.B...u..y..S...y.n..c..B..a..c..k..P..r.o...a..n..d...S...y.n..c..B..a..c..k..S..E............................................................................ 9 3 Upgra.d..e...A..s.s..u..r.a..n..c..e............................................................................................................... 12 4 What's...N..e..w....i.n...V..1..0................................................................................................................ 14 Part II Quick Start 18 1 Under.s.t.a..n..d..i.n..g...B..a..c..k..u..p...a..n..d...S..y..n..c..h..r.o..n..i.z..a..t.i.o..n........................................................................ 21 Source and De..s...t.i.n..a..t..i.o..n.......................................................................................................................................... 23 Back up .......................................................................................................................................................... 25 Synchronize (.I.n..t..e..l.l.i.g..e...n..t.)....................................................................................................................................... 28 M ir r or .......................................................................................................................................................... 30 Re s tor e .......................................................................................................................................................... 31 Autom ating S.y..n..c..B..a..c..k...P..r..o...................................................................................................................................... 32 2 Licens.i.n..g...S...y.n..c..B..a..c..k..P..r.o......................................................................................................... 34 3 Install.i.n..g...a...n..e..w...m...a..j.o..r...v.e..r..s.i.o..n.............................................................................................. 36 4 Creati.n..g...Y..o..u..r..F..i.r.s..t..P..r.o..f.i.l.e..................................................................................................... 37 5 First R.u..n................................................................................................................................ 46 Part III Using SyncBackPro 50 1 Basic .O..p..e..r.a..t.i.o..n..................................................................................................................... 51 The Main Wind...o..w..................................................................................................................................................... 52 Exporting and..I.m....p..o..r..t.i.n...g...P..r..o..f..i.l.e..s......................................................................................................................... 54 Creating a Pro..f.i.l.e..................................................................................................................................................... 55 Running a Pro.f..i.l.e..................................................................................................................................................... 66 Creating a Gro..u...p...P..r..o..f..i.l.e........................................................................................................................................ 69 Restoring a Ba..c..k...u..p................................................................................................................................................. 74 Creating a Sch..e...d..u..l.e................................................................................................................................................ 78 Burger Menu .......................................................................................................................................................... 86 Profiles Pop-U..p...M....e..n..u............................................................................................................................................. 91 V ie w .......................................................................................................................................................... 93 Global Setting.s......................................................................................................................................................... 95 Dialogs .......................................................................................................................................................... 106 Com parison..P..r..o..g..r..a..m....s........................................................................................................................................ 107 Logging Sett.i.n...g..s................................................................................................................................................... 109 Window s Sh.e..l.l..E..x..t.e...n..s..i.o...n.................................................................................................................................... 111 Linked Cloud...A...c..c..o..u...n..t.s........................................................................................................................................ 113 Que ue .......................................................................................................................................................... 115 Shared Settin...g..s..................................................................................................................................................... 116 Profile Progr.e...s..s.................................................................................................................................................... 119 Exploring Syn...c..B..a..c..k..P...r.o......................................................................................................................................... 120 2 Easy .M...o..d..e........................................................................................................................... 122 Easy Mode C.o...n..f.i.g...u..r..a..t.i.o..n..................................................................................................................................... 124 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Contents II Burger Menu...o..p...t.i.o..n...s........................................................................................................................................... 126 Sim ple .......................................................................................................................................................... 127 Sub-director.i.e..s....a..n..d...F..i.l.e...s.................................................................................................................................... 129 Netw ork .......................................................................................................................................................... 135 Scripts .......................................................................................................................................................... 136 Fast Backup .......................................................................................................................................................... 137 Type .......................................................................................................................................................... 148 Whe n .......................................................................................................................................................... 149 Notify .......................................................................................................................................................... 150 Searching th.e...s...e..t.t..i.n..g..s......................................................................................................................................... 151 3 Expe.r.t..M...o..d..e........................................................................................................................ 152 Sim ple, Perfo...r.m....a..n..c..e............................................................................................................................................ 157 Sim ple, Histo..r..y...................................................................................................................................................... 157 Media Trans.f.e..r...P..r..o..t..o..c..o..l..................................................................................................................................... 160 VHD .......................................................................................................................................................... 161 Google Photo...s....................................................................................................................................................... 163 Com pressio.n......................................................................................................................................................... 165 Com pressio.n..,..E..n...c..r.y..p...t.i.o..n.................................................................................................................................... 168 Com pressio.n..,..A...d..v..a..n...c..e..d..................................................................................................................................... 169 Com pressio.n..,..N...T..F..S.............................................................................................................................................. 170 Com pressio.n..,..C...o..m....p..r..e..s...s..e..d............................................................................................................................... 170 Decryption .......................................................................................................................................................... 171 Intelligent Sy..n..c..h..r..o..n...i.z..a..t.i.o..n.................................................................................................................................. 171 Decisions - F.i.l.e...s.................................................................................................................................................... 178 Decisions, Fo..l.d...e..r..s................................................................................................................................................ 182 FTP .......................................................................................................................................................... 186 FTP, Advance..d........................................................................................................................................................ 190 FTP, Proxy .......................................................................................................................................................... 194 FTP, Firew all.......................................................................................................................................................... 195 Cloud .......................................................................................................................................................... 196 Cloud, Advan..c..e..d.................................................................................................................................................... 207 Cloud, Proxy.......................................................................................................................................................... 212 Cloud, Tags .......................................................................................................................................................... 212 Backup Em ai.l......................................................................................................................................................... 213 Backup Em ai.l.,..P..r..o..x..y.............................................................................................................................................. 216 SyncBack To.u..c..h..................................................................................................................................................... 216 Netw ork, Ad.v..a..n..c..e..d............................................................................................................................................... 224 When, Hot-ke..y........................................................................................................................................................ 225 When, Login./.L..o..g...o..u..t............................................................................................................................................. 225 When, Chang..e..s...................................................................................................................................................... 226 When, Insert.......................................................................................................................................................... 228 When, Period..i.c..a..l.l.y................................................................................................................................................. 229 When, Tim e .L..i.m....i.t................................................................................................................................................. 230 When, Progr.a..m....................................................................................................................................................... 231 When, Touch.......................................................................................................................................................... 232 Copy/Delete .......................................................................................................................................................... 232 Copy/Delete,..F..o..l.d...e..r..s............................................................................................................................................ 237 Copy/Delete,..A...d..v..a..n..c..e...d........................................................................................................................................ 239 Copy/Delete,..L..o...c..k..e..d............................................................................................................................................. 242 Copy/Delete,..N..e...t.w...o...r.k........................................................................................................................................... 243 Copy/Delete,..W...a..r..n..i.n...g........................................................................................................................................... 244 Versioning .......................................................................................................................................................... 245 Versioning, D...e..l.t.a................................................................................................................................................... 250 Integrity Che..c..k...................................................................................................................................................... 253 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. II III SyncBackPro Help Com pare Op.t.i.o...n..s.................................................................................................................................................. 254 Com pare Op.t.i.o...n..s..,..F..i.l.e....S..i.z..e................................................................................................................................. 256 Com pare Op.t.i.o...n..s..,..D...a..t.e...&....T..i.m....e.......................................................................................................................... 257 Com pare Op.t.i.o...n..s..,..A...t.t..r.i.b...u..t.e...s............................................................................................................................. 259 Com pare Op.t.i.o...n..s..,..S...e..c..u..r..i.t.y................................................................................................................................. 260 Log .......................................................................................................................................................... 261 Log, Em ail Lo..g........................................................................................................................................................ 264 Log, Advance...d....................................................................................................................................................... 267 Log, Proxy .......................................................................................................................................................... 269 Log, Pushov.e..r....................................................................................................................................................... 269 Log, Webhoo..k........................................................................................................................................................ 270 M is c. .......................................................................................................................................................... 271 Misc., Media.......................................................................................................................................................... 272 Misc., Speec.h......................................................................................................................................................... 272 Program s Be..f.o...r.e................................................................................................................................................... 273 Program s, A.f.t..e..r.................................................................................................................................................... 275 Auto-close .......................................................................................................................................................... 276 Variables .......................................................................................................................................................... 277 Note s .......................................................................................................................................................... 278 Ransom w are...D...e..t.e...c..t.i.o..n........................................................................................................................................ 278 4 Runti.m...e...H..e..l.p....................................................................................................................... 280 The Differen.c..e..s...W....i.n..d..o...w...................................................................................................................................... 280 The File Colli.s...i.o..n...W....i.n..d..o...w.................................................................................................................................... 289 5 Tech.n..i.c.a..l..R...e..f.e..r.e..n..c..e........................................................................................................... 294 Scripting .......................................................................................................................................................... 296 Pascal ......................................................................................................................................................... 299 Basic ......................................................................................................................................................... 305 Calling DL.L...f.u..n..c..t.i.o..n..s........................................................................................................................................ 312 System Li.b..r.a..r..y................................................................................................................................................. 314 Base ......................................................................................................................................................... 316 Main Inter.f.a..c..e...S..c..r..ip..t.s....................................................................................................................................... 318 Profile Co.n..f.i.g..u..r.a..t.i.o..n...S..c..r.i.p..t.s............................................................................................................................. 323 Location S..c..r..ip..t.s................................................................................................................................................ 327 Runtime S.c..r..ip..t.s................................................................................................................................................. 345 SBLocatio..n....................................................................................................................................................... 365 SBProfile ......................................................................................................................................................... 369 SBRunnin.g........................................................................................................................................................ 375 SBSystem......................................................................................................................................................... 401 SBVariab.le..s...................................................................................................................................................... 416 SBHistory......................................................................................................................................................... 421 Constants......................................................................................................................................................... 427 Functions......................................................................................................................................................... 436 Classes ......................................................................................................................................................... 437 Example S..c..r.i.p..t.s................................................................................................................................................ 438 Convertin.g...V..B...S..c..r.i.p..t..t.o...B..a..s..i.c........................................................................................................................... 441 Technical Su.p..p...o..r..t..W...i.z..a..r..d.................................................................................................................................... 444 32-bit vs 64-b..i.t....................................................................................................................................................... 447 Com m and Li.n...e...P..a..r..a..m....e..t.e...r.s................................................................................................................................ 448 Filter Setting.s......................................................................................................................................................... 456 Open and Lo.c..k..e...d...F..i.l.e...C...o..p...y..i.n..g........................................................................................................................... 462 Variables .......................................................................................................................................................... 463 Regular Expr.e..s...s..i.o..n...s............................................................................................................................................ 494 Invalid Profile...s....................................................................................................................................................... 502 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Contents IV Restoring an.d....S..e..l.e...c..t.i.o..n...s.................................................................................................................................... 504 SyncBack Ma..n..a..g..e...m...e...n..t..S...e..r..v..i.c..e......................................................................................................................... 505 SyncBack To.u..c..h..................................................................................................................................................... 508 Connectio.n...P..r..o..b..le..m...s........................................................................................................................................ 509 SyncBack Mo..n..i.t..o..r................................................................................................................................................. 511 Upgrading Cl.o...u..d...S...e..r..v..i.c..e..................................................................................................................................... 512 Installing .......................................................................................................................................................... 513 Uninstalling S...y..n..c..B..a..c..k...P..r..o.................................................................................................................................... 516 Part IV Legal Information and Trademarks 517 1 Distri.b..u..t.i.o..n.......................................................................................................................... 519 2 Priva.c..y...S..t.a..t.e..m...e..n..t.............................................................................................................. 522 3 Gene.r..a..l..T..e..r.m...s.................................................................................................................... 523 4 Trans..l.a..t.o..r.s.......................................................................................................................... 531 5 Runti.m...e...I.n..t.e..l.l.i.g..e..n..c..e........................................................................................................... 532 Part V Glossary 534 Part VI System Requirements 557 Part VII Company Information 559 Index 561 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. IV 1 Foreword SyncBackPro V10 PDF Help Manual 2BrightSparks Pte Ltd © 2003 - 2021. All Rights Reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of 2BrightSparks Pte Ltd. Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. 2BrightSparks Pte Ltd. September 2015 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro Part I 3 SyncBackPro Help 1 Welcome to SyncBackPro SyncBackPro V10 Welcome to the help and information guide of SyncBackPro V10. This extensive help file provides information for all versions of the program: SyncBackPro, SyncBackSE and SyncBackFree. The help file self-adjusts to a large extent, depending on which version of the software it is installed with. · When a feature is only available in SyncBackSE and SyncBackPro (so not available in SyncBackFree) this is stated and the following is shown: · When a feature is only available in SyncBackPro, this is noted with the icon: This approach helps introduce users to a single context where they can enjoy guidance for all versions of the program, and helps them become aware of functions and features that may not be in the currently installed version (SyncBackFree or SyncBackSE) but may be appropriate to their needs. Note that screen shots of the program in the help file are generally of the flagship version SyncBackPro, and that all versions of the program may happily co-exist on the same system so that users can evaluate which version best suits their requirements. This help file was created 11 October 2021 for version 10.0.4.0. Introduction "You did have a backup... didn't you?..." Three reasons why SyncBackPro is the right choice for you: 1: SyncBackPro helps you to protect yourself from data loss by allowing you to backup your important files. When disaster strikes all you have to do is click a single button to restore. 2: SyncBackPro helps you spend time on those things that matter. Trying to recover from the effects of lost data can be very costly and time consuming. SyncBackPro's proven backup and synchronization solution is a breeze to implement, reliable, and affordable. 3: SyncBackPro delivers great ease of use and outstanding functionality. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro 4 For most people, keeping a backup of their computer's data is not normally foremost in their minds, and is usually something they only get round to right after a disastrous data loss. We all assume that our files are going to sit there obediently unless we purposely delete them. Anyway, data can always be recovered or undeleted, right? The harsh truth is that data is never secure unless a copy is kept in a separate location. If you accidentally delete a file, overwrite it, catch a destructive computer virus or suffer a catastrophic hard drive failure there's no easy way to get that data back without specialist software or expensive help. The good news is that SyncBackPro makes backups easy. In its simplest form, this comprehensive program will enable you to keep copies of your data on another drive for safekeeping, be it on local or remote storage locations. Let's take a quick look at the many storage destinations you can use: An internal drive (e.g. a second hard disk) An externally-attached drive (e.g. USB, Firewire or eSATA) Removable media (e.g. SD card or USB memory stick) Of course, given SyncBackPro's comprehensive capabilities, it doesn't stop there. You can also keep safe copies of your data on the following destinations too: A network or NAS drive (e.g. in a typical business environment) A ZIP archive or VHD/X file ( Pro version). An FTP, FTPS ( Pro version) or SFTP ( Pro version) server A user-defined location (using scripting) ( Pro version) Backup of your emails ( Pro version) Media Transfer Protocol (MTP), e.g. for Android devices ( SyncBackPro) SyncBackSE and SyncBack Touch, a cross-platform (Windows, macOS, Linux and Android) file server ( SyncBackSE and SyncBackPro). It is free with SyncBackSE and © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 5 SyncBackPro Help SyncBackPro V10. Amazon S3TM or compatible server. Amazon GlacierTM (via S3) is supported ( Pro version). Amazon S3TM is a trademark of Amazon.com, Inc. Amazon GlacierTM is a trademark of Amazon.com, Inc. Microsoft AzureTM server ( Pro version). AzureTM is a trademark of Microsoft Corporation. DropboxTM ( Pro version), including support for Dropbox Business. DropboxTM is a trademark of Dropbox, Inc. EgnyteTM ( Pro version). EgnyteTM is a trademark of Egnyte, Inc. Google DriveTM ( Pro version). Google DriveTM is a trademark of Google, Inc. Google PhotosTM ( Pro version). Google PhotosTM is a trademark of Google, Inc. BoxTM ( Pro version). Box is a trademark or registered trademark of Box, Inc. hubiCTM ( Pro version). hubiC is a trademark or registered trademark of OVH group. Microsoft OneDriveTM ( Pro version). OneDriveTM is a trademarks of Microsoft Corporation. Microsoft OneDriveTM for Business ( Pro version). OneDriveTM is a trademark of Microsoft Corporation. Microsoft SharePointTM ( Pro version). SharePointTM is a trademark of Microsoft Corporation. SugarSyncTM ( Pro version). SugarSync is a trademark of SugarSync, Inc. OpenStack ( Pro version), e.g. as implemented by RackSpace. OVHTM ( Pro version). OVH is a trademark or registered trademark of OVH group. BackblazeTM B2 ( Pro version). Backblaze is a trademark of Backblaze, Inc. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro 6 Google StorageTM ( Pro version). Google StorageTM is a trademark of Google, Inc. WebDAV ( Pro version). pCloudTM ( Pro version). CitrixTM ShareFile ( Pro version). How does SyncBackPro achieve this? At its simplest, backing up data is a one-way event, i.e. SyncBackPro will faithfully copy your live data on your PC to the storage destination. This is the simplest method of backing up and will suit most people for most situations. You may either perform the backup manually whenever you choose, or schedule a regular time slot for it to happen. In the latter's case, you never need to worry about forgetting to start the process. Keep your data synchronized between two computers. SyncBack can keep the same set of data up-to-date on both your PC and the storage destination. In short, any change made on one will be made on the other. For example, if you travel with a laptop and make changes to its data you may want to make sure that your desktop at home has the same set of changes. Conversely, someone at home may have made other changes to that data on the desktop too. SyncBack quickly achieves the consolidation of the two sets of data by only copying the changed data between the two PCs. This is known as Intelligent Synchronization and is one of SyncBack's most versatile features. Copy locked and/or open files Another impressive trick is SyncBack's ability to copy and backup locked and/or open files. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 7 SyncBackPro Help For example, if you are using Microsoft Outlook, your normally locked data file will be successfully copied even though it is in use. Other lesser-featured backup programs simply can't do this. Need to keep backups off-site? Best practice says that your backup should ideally be located in a different location to your original data. So how does SyncBackPro deal with offsite backups? Well, using a powerful FTP engine, SyncBackPro enables you to backup data to a remote server on the Internet. You could also use FTP to backup to a local NAS storage device or an FTP server somewhere else on a company network. SyncBackPro can also backup your files to an SFTP server, email server or a cloud storage service like Amazon S3TM. Centralized Management Distributed installations of SyncBackPro can be managed and monitored centrally using the SyncBack Management Service (SBM Service). This allows for easy management of profiles and to check on the status of backups on those remote installations. It is free when used with SyncBackPro V10. SyncBack Touch SyncBack Touch is a cross-platform (Windows, macOS and Android) alternative to using FTP. It can be used by SyncBackSE and SyncBackPro. It is free when used with SyncBackPro and SyncBackSE V10. SyncBack Monitor SyncBack Monitor allows the user to remotely monitor and control SyncBackPro/SyncBackSE instances running on computers on the same local network via an Android App. It can be used with free. SyncBackSE and SyncBackPro V9 or newer and is Quick Links To get up to speed quickly, we recommend taking a look at the following sections: New User Guide © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro 8 Quick Start Using SyncBackPro Thank you for choosing SyncBackPro. We are confident you will find it to be both powerful and a pleasure to use! All Content: 2BrightSparks Pte Ltd © 2003-2021 1.1 Help using SyncBackPro Help! Online and Printable Support Resources As a user of SyncBackPro you can enjoy extensive support from 2BrightSparks Pte Ltd: Your first port of call for support is to read this help file. Top Tip! Simply click the F1 key (usually on the upper left of your keyboard) to open the help file at the particular page relating to the current SyncBackPro window. Alternatively, click Help in the window caption (if you are using the Windows10 or Windows10 Dark styles), or the Help button on the main program window, to open the help file. If you have never backed up data before, we advise you read the Quick Start Guide which explains the fundamentals about different kinds of backup. Using SyncBackPro provides detailed explanations of all the functions in SyncBackPro including Basic Operation; Easy Mode; Expert Mode; Runtime Help; and a Technical Reference. This help file also offers context sensitive guidance when using the program. You'll find a Help button in most of the program's windows. Clicking the help button will take you straight to the help page for that particular task or option. Fully Searchable Settings When editing the settings for a profile you can use the settings search feature to locate the settings you need. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 9 SyncBackPro Help Fully Searchable Knowledge Base To search our ever expanding and improving Knowledge Base simply select Search Online Knowledge Base for the Help main menu. This will search the online knowledge base, which means it is always up-to-date. Fully Searchable and Printable Help Manual Do not directly print this help file from the Microsoft help viewer because the print quality of the HTML Help viewer is poor. A fully searchable and printable SyncBackPro Help File is available as an Adobe PDF file (Portable Document Format). This help file is available from our website in PDF format at: https://www.2brightsparks.com/assets/pdf/SyncBackProV10.pdf Although Adobe Acrobat Reader is installed as standard on Windows computers, you may wish to download and install the very latest version which includes significant improvements over its predecessors: Get latest Adobe Acrobat Reader Online Support from 2BrightSparks Our online support is among the best in the industry. You'll find our extensive Support Area which features our Knowledge Base and FAQs (Frequently Asked Questions). All Content: 2BrightSparks Pte Ltd © 2003-2021 1.2 How to Buy SyncBackPro and SyncBackSE Purchase SyncBackPro and SyncBackSE Today and Enjoy Instant Delivery © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro 10 We recognize that security is one of the major concerns for the shopper during an online transaction. Our payment processor uses state of the art security tools and techniques to ensure that you are protected against online fraud. All payment transactions at 2BrightSparks are handled through the FastSpring payment system. At no time do we process or save customer payment card details on our website. If you would like to learn about FastSpring visit the FastSpring web site. Direct Ordering Buy SyncBackPro or SyncBackSE Ordering couldn't be simpler. Your serial number will be presented to you immediately following payment on FastSpring's secure server. Your order details and serial number will also be sent to you via email. Orders can be processed for VISA, MasterCard, DISCOVER, American Express, JCB, UnionPay and via PayPal and Amazon Payments. Depending on your location other payment options are also available: Giropay, iDEAL, Sofort, WebMoney and Alipay. Upgrade from SyncBackSE Upgrade SyncBackSE to SyncBackPro All SyncBackSE licensees can upgrade to SyncBackPro at reduced prices. Visit Our Web Store and choose your upgrade option today. Upgrade Assurance When purchasing a new license of SyncBackPro or SyncBackSE, or upgrading, you have the option to purchase Upgrade Assurance (UA). Upgrade Assurance ensures that you get the latest major versions once they are released. Refer to the Upgrade Assurance section of this help file for more details. Perpetual License When you purchase any software from 2BrightSparks, you receive a perpetual license. This means that you can continue to use the version you purchased indefinitely and without © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 11 SyncBackPro Help restrictions. The software will not expire. All minor version upgrades are free, e.g. upgrading from V10.1 to V10.2 would be free. However, major version upgrades (e.g. V9 to V10) are not free and you are not entitled to free technical support. We recommend purchase of Upgrade Assurance so that you receive major version upgrades and technical support. Evaluation/Trial Downloads Fully functional evaluation/trial versions of SyncBackPro and SyncBackSE are available for download from our website: Download SyncBackPro 30 Day Trial Download SyncBackSE 30 Day Trial Sales and Support Sales and Support are available by submitting a support ticket from our Support Area. Find out more about our industry leading support resources. Other Great Software from 2BrightSparks OnClick Utilities A suite of easy to use free software utilities for Microsoft Windows. Find out more... · FindOnClick performs lightning fast file searches. · UndeleteOnClick recovers deleted files. · DeleteOnClick securely deletes data. A free version is available. · HashOnClick helps guarantee files are identical. A free version is available. · EncryptOnClick delivers 256-bit AES encryption. Freeware. · ScrambleOnClick encrypts/decrypts files and text. · PatchOnClick easily updates large files. A free version is available. Select one or all of the OnClick Utilities programs for your needs: Download OnClick Utilities © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro 12 All Content: 2BrightSparks Pte Ltd © 2003-2021 1.3 Upgrade Assurance You can now sign up for Upgrade Assurance which is an annual subscription service. Subscribed customers will get upgrades to major version releases for free as well as priority support via our support ticketing channel. Upgrade Assurance customers will continue to enjoy these benefits as long as they stay subscribed. This subscription program is open for new and upgrading customers of SyncBackSE/Pro. What is the cost for Upgrade Assurance? SyncBack Upgrade Assurance costs a small amount and is chargeable on a per-seat basis (for each license purchase of SyncBackSE or SyncBackPro). Customers need to purchase the same number of Upgrade Assurance subscriptions that are equivalent to the number of SyncBackSE/Pro licenses (or upgrade licenses) they plan to purchase. For example, if you are buying 5 SyncBackPro licenses, then you will need to purchase 5 SyncBackPro Upgrade Assurance subscriptions as well. As a subscription service, the charges are automatically renewed annually on the anniversary date of your Upgrade Assurance purchase. You will be notified 2 weeks before the scheduled payment and you can cancel the subscription at anytime by logging into your customer account management portal. What are the benefits for signing up for Upgrade Assurance? As a subscribed member, you no longer need to pay for upgrade fees with every launch of a new major version release. You will also get priority support from our support helpdesk. Subscribed members who submit a support ticket will be flagged automatically by our support system, which we will attend to before normal priority tickets. Please note that the support hours and scope of coverage remains the same as outlined in our Support Policy. How to purchase Upgrade Assurance? You can purchase Upgrade Assurance at our web-store, within the sub-pages of SyncBackSE and SyncBackPro. Please note that Upgrade Assurance is only available through SyncBackSE and SyncBackPro purchases. You have the option to purchase Upgrade Assurance during a new © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 13 SyncBackPro Help purchase of SyncBackSE/Pro license as well as upgrading from an older version of SyncBackSE/Pro. Can I purchase Upgrade Assurance as a stand-alone product? Upgrade Assurance will be available for purchase if you have purchased SyncBackSE or SyncBackPro within the past 30 days. This is to allow customers who did not buy the Upgrade Assurance during the SyncBack purchase to do so within 30 days of their purchase. After that period, customers will have the option to buy Upgrade Assurance during the next major version release when they upgrade their SyncBackSE/Pro license. To see if you are eligible to purchase Upgrade Assurance as a stand-alone product, visit our Upgrade Checker page and enter your SyncBackSE/Pro serial number. How do I cancel my Upgrade Assurance subscription? You can cancel your Upgrade Assurance subscription from our customer account management site. Enter the email address registered during your purchase, and an email with a link to access your account will be sent to your mailbox. Click on the link to go to your customer portal and you can cancel your subscription from the Subscription tab. What happens to my SyncBackSE/Pro license if Upgrade Assurance is cancelled midway through the subscription? If you cancel your Upgrade Assurance subscription, your SyncBackSE/Pro license will continue to be valid. You can continue to use the SyncBack version which you have at the time (i.e., at the time of subscription cancellation) indefinitely without any further charges. However, you will no longer be provided with free SyncBack upgrades nor priority support. When a major SyncBackSE/Pro version is released in the future, you have the option to purchase the new version at an upgrade price as well as sign up for a new Upgrade Assurance subscription again. You can visit our Upgrade Checker page to review your upgrade options. Will there be a refund for cancelling Upgrade Assurance subscription? When Upgrade Assurance subscription is cancelled, there will be no refunds. Upgrade Assurance will be valid until the end of your renewal date. When the renewal date is reached, Upgrade Assurance will not be auto-renewed and your subscription will expire. Customers without an Upgrade Assurance subscription can continue to use whichever SyncBack version that is current prior to the subscription expiry. Unsubscribed customers © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro 14 with an existing SyncBackSE/Pro license have the option to buy upgrade license for future major version releases. When Upgrade Assurance is added to my order, the option to pay by Wire Transfer and/or Purchase Order is removed. Why? Please note that it is not possible to pay through Wire Transfer/Purchase Order when Upgrade Assurance is added to your order. This is because the subscription requires a credit card or Paypal payment option to automatically deduct the annual fees from your card/paypal account. It would not be possible to make a future deduction through wire transfer/purchase order payments since they are considered one-time transactions. If payment through wire transfer/purchase order is required, Upgrade Assurance has to be removed from the selection first. 1.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 What's New in V10 Below is a list of the main new features and changes introduced in this major version release: Value · SyncBack Touch is now free for use with SyncBackPro V10 and SyncBackSE V10 · The SyncBack Management Service (SBMS) is now free for use with SyncBackPro V10. Simply enter your SyncBackPro serial number into the SBMS Console for unlimited free connections. Performance · When profiles are run in parallel there is a large performance improvement. For example: a group profile with two profiles (set to run them in parallel, i.e. at the same time) was run in V9 and V10. In V9 the total run-time was 1 minutes 3 seconds, but in V10 it was just 49 seconds. Profile 1 scanned over 340,000 files and profile 2 scanned over 210,00 files (on a different drive). · Regular Expression filters are much faster · Fast Backup can now be used with all cloud services (except Backblaze B2) which can result in much faster backups © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 15 SyncBackPro Help · Improved performance with Egnyte when using versioning or safe copies · Faster log file creation (if not using appended text log files) · Faster profiles backup on program exit · Faster folder expansion in File and Folder Selection window · Faster folder listing in File and Folder Selection window for FTP servers that do not support MLSD/MLST · Faster debug output · Support for Rapid Transfer in SyncBack Touch (requires SyncBack Touch V1.5.0 or newer) · With SyncBackPro you can choose to use more memory to improve performance or less memory to reduce memory usage · Concurrent downloads for large files (Eldos FTP) User Interface · You can now export file and folder selections to a text file or comma-delimited CSV file · When restoring you can choose the files and folders that should be checked for restoration · New Drives tab in Global Settings that shows all connected drives and their status · Automatically uses newer Segoe UI Variable font if available (to give better scaling) · Splash progress window when starting SyncBack · On the main window, you can click on the Result, Source and Destination columns to view the log and open the source/destination location (if applicable) · The Windows 10 style now uses the same color icons as the Windows style Cloud · Support for Citrix ShareFile · Support for pCloud · Object tagging in Amazon S3 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Welcome to SyncBackPro 16 · Customer-provided encryption key (SSE-C) support for S3 (including Wasabi and Oracle when using S3 compatibility) · Fast Backup can now be used with all cloud services (except Backblaze B2) which can result in much faster backups · Support for newer version of Azure API so the maximum file size has increased along with better performance · Improved performance with Egnyte when using versioning or safe copies · Reduced memory usage with Box, Google Drive, OneDrive FTP · New FTP and SFTP engine (DevArt) · New FTP and SFTP engine (Chilkat) · Concurrent downloads for large files (Eldos FTP) Security · Ransomware detection is now possible with FTP, SFTP, cloud storage, MTP, VHD, remote file-systems and SyncBack Touch. It is not supported with Google Photos, backup of email or location scripts. · TLS V1.2 is now used for all cloud services (the option to use V1.0 or V1.1 is no longer available) Misc. · New variables including VERSIONSCREATEDTOTAL, VERSIONSCREATEDSRC, VERSIONSCREATEDDEST, COMPAREACCESSDATETIMETOTAL and numerous special folder variables (FOLDERID_...) · Global Variables (user-defined variables that can be used by all profiles) · Webhook support (for notifications when a profile ends) · When running profiles periodically in the background you can now specify which times it can start in and on which days of the week © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 17 SyncBackPro Help · You can now ignore, or only include, files modified and/or created within a certain timeframe · Experimental support for IPV6 with FTP and SFTP · Last Access date & time for files and folders can now be compared and copied · Group profile can be configured to abort if any profiles fail · Option to silently fail if no network and/or Internet connection is detected by Windows · Can silently fail if Windows is and/or is not connected to a specific network · Option to email log if there are errors or no differences · Log file records total number of versions created and also reports if a version of a file was created · The default exclusion filters have been updated · New Fast Backup re-scan decision variables added, e.g. %DAY_P% · Fast Backup re-scan decision can now use less than (<), less than or equal (<=), greater than (>) or greater than or equal (>=) All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start Part II 19 SyncBackPro Help 2 Quick Start Start Using SyncBackPro Straight Away If you have not used a backup program before, we strongly advise you spend time reading Understanding Backup and Synchronization which provides an essential introduction to the field. The warning icon on the left is used throughout this help file and indicates advise that is of particular importance. Three stage start SyncBackPro can be up and running by following the following three stage process: Step 1. When you first install SyncBackPro, the program will ask if you would like to: · Evaluate the software · Enter your Serial Number that you would have received by email after you have paid for SyncBackPro Click the Buy button to visit our web store so you may pay for a license, or the Evaluate button to use the 30 day trial: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 20 When in evaluation mode, you can opt not to be reminded again until 7 days before the trial expires by clicking the box. Step 2. The program may then ask if you would like to import any existing SyncBack profiles. Step 3. If you have not created any profiles in the past click the "New" button located on the lower left of the program window: Creating your first Profile is a simple process with the help of the profile wizard. Once a profile has been created you need only click a single button to run that profile. Need Help? Read the Help Using SyncBackPro section of this help file which details the many ways you will find guidance and support when using the program. Use the context sensitive help buttons that provide assistance by clicking the 'Help' button that you'll find on each program window. This will take you straight to the appropriate section in the help file. SyncBackPro Evaluation Version © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 21 SyncBackPro Help You have 30 days to evaluate SyncBackPro after which time you must uninstall it from your computer. You may buy SyncBackPro at any stage by visiting our web store. Click to visit our Web Store All Content: 2BrightSparks Pte Ltd © 2003-2021 2.1 Understanding Backup and Synchronization What SyncBackPro Does SyncBackPro is designed to help you prevent data loss. This section of the help file aims to provide you with essential knowledge about what the program does to achieve this. There are four core tasks SyncBackPro does: · Backup · Synchronize · Mirror · Restore SyncBackPro allows the user to make many, many decisions about how these core tasks are achieved. Important: SyncBackPro copies, moves, and deletes data. Always ensure you test your settings, ideally with test files, before using them with your actual files. We try to make it very clear during the installation process that SyncBackPro is designed to be able to delete and replace files, so it must be used with caution. We also ensure the default options are set to a safe mode. Good data processing procedure dictates that any program should be thoroughly tested with non-critical data before relying on it. SyncBackPro also features a 'Simulated Run' feature so that users can check to ensure the program is processing data in the way they expect before making an actual run. The Simulated Run or Simulated Restore commands are available from the dropdown menu on the Run and Restore buttons, or by right clicking on a profile: Run Button: Simulated Run Right Click Menu: Simulated Run © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 22 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 23 SyncBackPro Help What SyncBackPro can and cannot do SyncBackPro can copy all of your files, but cannot make an exact copy of your system drive. SyncBackPro is designed to copy your important files, e. g. your pictures, documents, music, database, etc. You can always re-install the operating system and any programs, but you cannot recover your files unless you've made a backup. With SyncBackPro, making a backup of those files is quick and easy. To make an exact copy of your system drive, you must use "disk imaging" software. With disk imaging, the entire disk (the parts that are used) is copied bit-by-bit. This means the copy will take up a lot of disk space and take much longer to copy. Your Windows operating environment is constantly changing. Programs are installed, updated, uninstalled and settings are changed. Many important security specific applications are also regularly and automatically updated. Anyone who uses their computer to connect to the Internet should have in place Anti-Virus, Firewall and Anti-Spyware programs that are all readily available from within the Windows operating system. These issues, combined with the longer, costlier (more disks) and less convenient (more time consuming) disk imaging process inevitably means that for the average user, disk imaging is carried out far less frequently than the kind of backup SyncBackPro delivers. SyncBackPro copies all your important files in a fast, up to date and reliable manner. 2.1.1 All Content: 2BrightSparks Pte Ltd © 2003-2021 Source and Destination Understanding the 'Source' and 'Destination' SyncBackPro copies, moves and deletes digital files from one location to another. This helps you in your aim to prevent data loss. To make the process of backing up simple to understand, we use the terms Source and Destination. The Source is a particular location and the Destination is a different location. In the example below, the Source is a workstation and the Destination is an external drive: Source Destination © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 24 You will create a Profile of both the Source and Destination, and define the Profile's actions (backup, synchronization, restore etc.). You can also group profiles together so multiple actions occur, and then schedule these profiles to run automatically. Backup In the case of a simple backup operation, the Source is the place where files are copied from and the Destination is the place where files are copied to. For example, the Source could be the folder 'Your Computer Drive\My Documents\My Business Folder\' and the Destination could be a folder on an external USB drive 'My External Backup Drive\My Backup\My Business Folder\'. SyncBackPro allows you to make choices about exactly what files are to be copied, moved, ignored or deleted during the backup, synchronization or restore process. You may decide, for example, to ignore certain files or folders when backing up. Therefore, it is not necessary to backup every file from the Source to the Destination. When SyncBackPro first runs a backup, the program will copy all the files you require from the Source to the Destination. The next time you run the same backup task, SyncBackPro does not copy the unchanged files, but rather scans both the Source and Destination, notes what files have been changed and then asks you to confirm the action the program is about to take in the Differences Window. This makes subsequent backups a lot faster than the initial backup. Synchronization When it comes to Synchronization, viewing the source as a location where files are copied from is not accurate. Think of the source simply as a location, rather than as a location that always has a fixed task associated with it. The source can be thought of as the left side, and the destination as the right side. In a synchronization operation for example, a file may be copied to the source rather than from the source, and at the same time another file may be copied to the destination. This may occur as you may have chosen options in SyncBackPro that request certain actions occur given certain criteria. For example, you may require that a file that is older on either the source or destination, must be replaced by the newer file (given they have the same name and file type). As you can tell by the example above, synchronization is a more complex process than a backup process. Mirror © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 25 SyncBackPro Help Mirroring ensures that one drive (or folder) contains the same files as another drive (or folder). It is not the same as a backup because it deletes files (this means there are no 'orphaned' files in the destination). It is also not the same as synchronization because it only copies files in one direction. Good data procedures When you first use SyncBackPro, we advise you use the default options and simply backup, as this will prevent any unexpected and potentially unwanted actions to occur. As you become familiar with the program, you will begin to gain a deeper understanding of the Backup and Synchronization processes. We have put many checks and warnings in place in order to prevent you from accidentally losing data. We make it very clear during the installation process that SyncBackPro is designed to be able to delete and replace files, so it must be used with caution. We also ensure the default options are set to safe settings that will reduce the possibility of unwanted data loss to a minimum. Good data processing procedures dictate that any program is thoroughly tested with noncritical data before relying on it. SyncBackPro also features a Simulated Run feature that you will be able to ensure the program is processing data in the way you expect before making an actual run. A Simulated Run does not move, copy, or delete any files, but will show the differences window for you to fully review what will occur in the case of an actual run. 2.1.2 All Content: 2BrightSparks Pte Ltd © 2003-2021 Backup An Explanation of the Backup Process A backup copies files in one direction: from the source to the destination. Note that a backup is not a synchronize process. SyncBackPro can backup to the same drive; a different drive or medium (USB key, SD card, etc); an FTP or SFTP server; backup emails; numerous cloud services;a Network; or a Zip archive. SyncBackPro can also backup to user definable locations by using scripts and even backup your emails. If you have a device that uses the Media Transfer Protocol, e.g. a phone, then SyncBackPro can backup to that too. Backing Up The examples on this page show different scenarios of when you might backup. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 26 Note that the Destination needs to have enough free disk space to take all the backup data. Here's an example of a local computer backing up to an external hard disk. The computer's drive is the Source, and the external hard disk is the Destination. Files will be copied from the source to the destination: Source Destination Usage: Backup files on your local C drive onto an external USB drive. This ensures you've got an accessible copy of your data, even if you experience problems with your main computer. A second example shows a backup where the a laptop is the Source, and a desktop is the Destination: Source Destination Usage: Perhaps you've been on a business trip or on holiday and you've continued to update your documents. When you get back home you'll want to copy any new or changed files back onto your computer. A simple backup will achieve this. The third example shows how a backup can run from one network computer to another: Source Destination Usage: You've setup a home network, and you use one of the computers on that network to work on, and another to backup to. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 27 SyncBackPro Help The example below shows a backup taking place from a local workstation to another remote computer using FTP (File Transfer Protocol): Source Destination Usage: You're on the move and work with a laptop. As you've got Internet access and FTP access to a website to upload files, you backup a copy of your data so you know if diaster strikes and your laptop is lost, breaks down, or is damaged in transit, your data is safe and easily retrievable. The next example shows a backup to SyncBack Touch: Source Destination Usage: You want to backup all your family photos and movies to another device running SyncBack Touch. The final example shows a backup between a local computer and an SD card: Source Destination Usage: You're at work and need to copy the documents that are located in different folders on your work computer to an SD card, USB stick, etc. Once you've defined your profiles and grouped them using SyncBackPro, you'll click one button, and everything will be copied quickly and simply in a single action. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 28 2.1.3 All Content: 2BrightSparks Pte Ltd © 2003-2021 Synchronize (Intelligent) An Explanation of the Intelligent Synchronize Process A Synchronization copies files in both directions: from the source to the destination, and from the destination to the source. Intelligent Synchronization copies files in both directions and also keeps a history of where files were during the last synchronization. This allows for much finer control over what actions to take based on what has changed, and also allows it to detect changes such as the file only being modified in the source or destination. It is advisable to use Intelligent Synchronization instead of the old basic synchronization. By default any synchronization profile created using SyncBackPro will be an Intelligent Synchronization profile. However, a profile imported from an old version of SyncBackSE, or SyncBackFree, may not be. Note that the synchronization process is not the same as a backup process. What is the difference between Basic and Intelligent Synchronization? Intelligent Synchronization keeps track of what changed the last time the profile was run so that it knows if a file has been deleted, created, or changed since the last profile run. This helps you (and SyncBack) make an informed decision about what to do when something changes. It also gives you a comprehensive choice of options on what to do with a file when specific things happen, e.g. the file is deleted for the source but not the destination. Basic synchronization does not keep track of changes and has a limited set of options. Whenever possible you should use Intelligent Synchronization instead of the old basic synchronization. For example: you are synchronizing files between your laptop and desktop. You change a file on your laptop but delete that same file on your desktop. When you next run your Intelligent Synchronization profile SyncBack will be able to detect this and perform the configured action (in this case the default action is to prompt the user). However, if you had used an old basic synchronization profile it would only have detected that the desktop file had deleted and would not have detected that the laptop file had also been modified (in this case the default action would have been to copy the file from the laptop back to the desktop). Synchronizing the Source and the Destination Here's an example of a computer drive being synchronized with an external hard disk. Files will be synchronized between the source and the destination: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 29 SyncBackPro Help Source Destination Usage: You use two separate drives, one for business, another for home use. Some files are on both drives, like your diary. Synchronization ensures that whatever drive you work on, the other drive is updated with your new diary items. A second example shows a laptop (Source) and desktop (Destination) being synchronized. The desktop could be two different computers, e.g. your office computer and your home computer: Source Destination Usage: You work on the move and at home and want to ensure both your laptop and desktop have the same up to date files. You achieve this by Synchronizing your two computers. The third example shows a synchronization running from one network computer to another: Source Destination Usage: You work on a networked computer and often change files that others will also view and change during the course of a day. Synchronization helps to ensure that whoever is working on the file does so with the most up to date version. The final example shows a local computer and an SD card being synchronized: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 30 Source Destination Usage: You've updated many documents over the course of the day. At one point you used an SD card to load some documents as you worked on a computer other than your usual one, but you can't remember the exact name of those documents. When you return to your main computer you run your synchronization profile. SyncBack copies files in both directions, ensuring that both the SD card and your main computer have the same up to date documents. 2.1.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 Mirror An Explanation of the Mirror Process Mirroring ensures that one drive (or folder) contains the same files as another drive (or folder). It is not the same as a backup because it deletes files. It is also not the same as synchronization because it only copies files in one direction. Note that the Destination needs to have enough free disk space to take all the data. Mirroring Here's an example of a local computer mirroring to an external hard disk. The computer's drive is the Source, and the external hard disk is the Destination. Files will be copied from the source to the destination and any files that are only on the Destination are deleted: Source Destination Usage: Mirror files from your local C drive to an external USB drive. This ensures you've got an identical copy of your data, even if you experience problems with your main computer. It is different from a backup because there are no 'orphaned' files in the destination. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 31 SyncBackPro Help 2.1.5 All Content: 2BrightSparks Pte Ltd © 2003-2021 Restore An Explanation of the Restore Process Being able to easily restore data is a core function of SyncBackPro. Here are some example scenarios of when you'll want to run a restore operation: · You inadvertently delete a file and/or folder and need to recover it easily and quickly. · As you're working on a document, the parent program unexpectedly crashes and your work is gone. If you've setup a backup to run in the background, you'll be able to restore to the last backup point. · Your computer suffers a catastrophic failure, and you cannot access any files or folders. Having backed up onto an external drive or disk, you will be able to easily restore your valuable files onto a new computer. A restore operation swaps the source and destination directories: i.e. the source directory becomes the destination directory and vice-versa: Source Destination Usage: You have inadvertently deleted the wrong files. You quickly restore your files from an external hard drive back onto your main computer, then continue to work with little impact on your time or overall stress levels. Usage: Your main computer suffers a serious security attack and your document files have been badly affected. After reinstalling Windows you are able to also restore your valuable document files to the state they were prior to the attack. Running a restore operation is not reversible. A restore may not work in the way you expect it to: e.g. some of the files in the destination directory may be older than their equivalent entries in the source, and therefore may not replace the source entries (depending upon what your settings are). If in doubt use the Simulated Restore feature in SyncBackPro. A simulated restore will show you what will happen to your files, without actually copying, moving, or deleting any files. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 32 2.1.6 All Content: 2BrightSparks Pte Ltd © 2003-2021 Automating SyncBackPro Scheduling and Background Tasks SyncBackPro provides a number of ways to run a profile (see below for a complete list) however, there are two methods to run a profile based on the date and time: · Scheduling with the Windows Task Scheduler. · Have a profile configured to run in the background. A profile can be both scheduled and set to run in the background. Scheduled Tasks The Windows operating system comes with an integrated scheduler (the Windows Task Scheduler). This scheduler lets the user configure Windows so that certain programs are run at certain times, e.g. every day at 9am. For example, most anti-virus software will prompt you to create a scheduled task to scan your computer for viruses every morning. There are a number of advantages to scheduling profiles: · A scheduled profile can be configured to run even when you're not logged in or if someone else is logged in. · A scheduled profile can switch the computer on (from hibernation or standby) to run the profile. · The date & time of when the profile is run, and how often it is repeated (e.g. daily), is highly configurable. · You do not need to have SyncBackPro running to have a profile run at the scheduled times. This help file has a special section that shows you how to Create a Schedule. Background Tasks SyncBackPro has the ability to run profiles at periodic intervals, e.g. every 2 hours. This is different from scheduling a profile because it is not based on a specific date & time but instead the frequency. There are a number of disadvantages to having a profile run in the background: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 33 SyncBackPro Help · You must be logged in for the profile to run. · SyncBackPro must be running for the profile to run. · The profile can only be configured to run every x seconds/minutes/hours and not at a specific date or time. If profiles are configured to run in the background then it's best to configure SyncBackPro so that it starts automatically when you login to Windows. This help file has a special section that shows you how to Create a Background Task. Which method should be used? In general it is better to schedule a profile instead of having it run in the background. However, if you want a profile to run frequently (e.g. hourly) then it is advisable to both schedule the profile and have it set to run in the background. This gives you the best of both worlds: your backup will be performed even when you are not logged in, and your backups will be performed frequently while you are working so that if you need to restore a file the backup copy will be more recent. Situations under which a SyncBackPro Profile can be run The list below shows all the situations and configurations in which a SyncBackPro profile can be run: · Manually run, e.g. profile selected in main window and the Run or Restore buttons are pressed · Scheduled (note that schedules can also be set to run every x minutes, hours, etc. and not just once or daily, weekly, monthly etc.) · Run when a hot-key is pressed (see When -> Hot-key) · Run on Windows startup or shutdown/logoff (see When -> Login/Logout) · When files or folders in the source or destination are changed (see When -> Changes) · Run when a device is attached/inserted, e.g. a CD, a USB flash key, etc. (see the When -> Insert) · Set to run in the background (see When -> Periodically) · Run when an external programs starts (see When -> Programs) · Run externally from the command line, a batch file, or another program · Run as part of a Group Profile which is run by one of the above methods All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 34 2.2 Licensing SyncBackPro Program Launch When SyncBackPro is first launched, the evaluation window will be shown: Do not try to manually enter the serial number as errors can easily be made. The easiest way for you to enter your serial number is to copy your entire order email to the clipboard. SyncBackPro will find the serial number and automatically paste it into the text field. You can copy the email before SyncBackPro is running, or even when the serial number window is being displayed. Click "OK" once the serial number has been entered. The OK button will only appear once the serial number has been entered correctly. How to Copy and Paste Copying and pasting is the best way to ensure that you have entered the correct serial number, as it is easy to mistake the number zero '0', for the letter 'O'. For those who are unsure on how to quickly copy and paste your serial number, here's how: 1. Run SyncBackPro or select Enter Serial Number available via the Serial Number menu: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 35 SyncBackPro Help The Evaluation window will open: 2. Run your email program and click once in the body of your confirmation order email. 3. Hold down the 'Ctrl' and 'A' keys on the computer keyboard. This will select the whole body of your email. 4. Copy by holding down both the 'Ctrl' and 'C' keys then switch back to the SyncBackPro evaluation window. 5. Paste by holding down the 'Ctrl' and 'V' keys. Your serial number will be automatically pasted into the Serial Number window: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 36 6. Click the 'OK' button Congratulations! You have now licensed SyncBackPro. Safe Installation All versions of SyncBackPro can be safely installed over an existing installation. By doing this, you will ensure any profiles you have created continue to be active. Importing Profiles To import a Profile use the 'Import Profile' menu item under 'Profiles'. Lost Serial Number If you lose, or forget, your serial number simply click the Find Serial button in the Serial Number main menu. If you have a serial number it will be shown in About window (Help -> About, or click the status bar in the main window). If you've lost your serial number click the Find Serial Number button. All Content: 2BrightSparks Pte Ltd © 2003-2021 2.3 Installing a new major version Profiles Backup for SyncBackProV9 and earlier Users When SyncBackPro is first run it will check to see if it has been installed over an older version, e.g. V10 installed over V9. If so, it makes a backup of the existing profiles and settings of the older version. The purpose of this backup is so that if you decide to uninstall the newer version and re-install the older version, then the older version can restore your old © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 37 SyncBackPro Help settings and profiles. It is important to note that you must install the latest version of SyncBackPro to be able to restore your settings and profiles. You can download old versions from https://www.2brightsparks.com/downloads-legacy.html You can choose which folder to make a backup of the profiles and settings in, but it is recommended that you do not and instead use the default (e.g. C:\Users\[username] \Documents\SyncBackProV9 Backup\). The default location is a sub-directory of your users application data folder. After SyncBackPro has made the backup it will open a Windows File Explorer window so you can see which folder it is and the files in it. The backup files will be automatically deleted by SyncBackPro once a valid serial number is entered and 60 days or more have passed since it was first run. You can manually delete the backup files yourself if you are sure you are not going to revert back to the older version. For example: · You are currently using SyncBackPro V9 and decide you want to try V10. · You install SyncBackPro V10. Note that you do not uninstall V9 first. · When V10 is first run it will make a backup of your V9 profiles. · You try V10 and later decide you want to return to using V9, so you uninstall V10 and then install V9. · When you first run V9 it will restore the profiles you had when you were using V9 previously. 32-bit and 64-bit 64-bit versions of SyncBackPro and SyncBackSE were introduced in SyncBackPro/SE V8. You should not have 32-bit and 64-bit versions installed at the same time. To switch from one version to another (e.g. 32-bit to 64-bit) you should export your profiles, uninstall the old version, install the new version and then import your profiles. 2.4 Creating Your First Profile Creating Your First 'Profile' A profile stores information about the folders or files you would like to backup or synchronize using SyncBackPro. Profiles can be very specific as to what, when, and how a given task is performed, but we are going to be concentrating on creating a simple backup profile. Be aware that different settings and choices will become available during the profile creation process depending on what you would like SyncBackPro to do. If you are uncertain in any way about the different options available, please read the Understanding Backup and Synchronization before you create a profile. The Profile Setup Wizard walks you though the process of setting up your profile. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 38 The default settings in the SyncBackPro Profile Setup Wizard will help ensure you will easily create a Backup profile. Click the New button located on the lower left of the program window: Alternatively, choose New from the Profiles menu on the top left of the program window. The Profile Wizard window will appear. The window is large to accommodate the varied settings and input fields that can appear during the profile setup process depending on the choices you make. If you would like to know more about a program window simply click the F1 key to view the help section relating to it. Enter a name for your new Profile: Click Next located at the lower right of the window. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 39 SyncBackPro Help For this example we are creating a backup profile which is the default option: The wizard will ask whether you wish to choose the Source and Destination. The Source is where you are copying your files from, and the Destination is where you are copying your files to. The Internal/External drive, network path etc. option is always the default on each side unless a different option is selected from the drop down lists. Available options can vary depending whether it will be the Source or Destination (for example, Email messages can only be a Source). It should be noted that selecting a non-default option for one side generally means you can only select the basic/default ('drive or network path') option for the other side. This is due to internal design aspects. In this example where the default settings are used, you need only click the Done button. But if you choose non-default settings, an additional Next button may appear, whereby you can optionally specify additional settings (alternatively, you can complete them in the main Profile Setup window later). For example, if you choose FTP from the drop down list, and click Next, you will be prompted for your FTP details. For technical reasons, if you do click Next (where © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 40 available), you will not be able to switch Back to the previous wizard screen and will thus - if you change your mind - need to Abort the wizard and restart the process. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 41 SyncBackPro Help © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 42 An information window now appears informing you that you will be able to view and make changes to your profile. Click OK: The Profile Setup window now opens. You will need to define your Source and Destination locations by clicking each of the folder icons (highlighted in the image below): When you click the folder icon a directory selection window will appear in which you will locate your source or destination - Click Select Folder. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 43 SyncBackPro Help The Profile Setup Window will now display all the selections you have made. You will notice that by default SyncBackPro has automatically built options that will make your backup proceed more reliably and quickly than if you simply copy the contents of the My Documents folder into another drive: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 44 Click OK. A Window will open which asks whether you would like to perform a simulated run. This allows you to check the profile functions correctly without actually copying any files. Click Yes. In the following example a Business profile has been defined, the simulation accepted, and the Differences window opens. The Differences window shows all the files that would be copied in an actual run. Click Continue Simulation: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 45 SyncBackPro Help The main program window will now open. You may now run this backup profile at any time by selecting a profile and then clicking the Run button: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 46 The final section of this Quick Start guide shows you how to Run Your Profile. 2.5 All Content: 2BrightSparks Pte Ltd © 2003-2021 First Run Running a Profile for the First Time SyncBackPro processes files very quickly. Therefore, if you are only backing up or synchronizing a few files, you may not see the progress pop-out on the right of the window. When a profile is running (or paused) it will have two icons shown to the left of it: Click the icon to stop the profile. Click the icon to pause the profile. If the profile is already paused then it will instead show the icon. Click it to continue the profile. A progress bar will appear in a pop-out at the right of the window as the files are being processed: As the profile is being processed, an icon will also appear in the System Tray (Taskbar corner) located on the bottom right of your screen: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 47 SyncBackPro Help Animated SyncBackPro icon when a profile is running: However, for it to appear in the Notification Area (also known as the System Tray and Taskbar corner), next to the clock, you may need to drag the icon to the position you want it to be. Alternatively: · On Windows 11 right-click on the taskbar and selecting Taskbar Settings. This takes you straight to the Settings > Personalization > Taskbar screen. Expand the Taskbar corner overflow section and scroll down until you see the entry for SyncBackPro and then change the switch setting to On. · On Windows 10 right-click on the taskbar and selecting Taskbar Settings. This takes you straight to the Settings > Personalization > Taskbar screen. Scroll down to the Notification Area section and click the "Select which icons appear on the taskbar" link. Use the list here to customize which icons appear on the taskbar. Icons set to On will appear on the taskbar, while icons set to Off will be hidden behind the up arrow. · On older versions of Windows you may need to press the Customize... link and configure Windows to Show icons and notifications for SyncBack: Depending on your settings, the Differences Window may appear after the initial scan takes place. The Differences Window shows what will happen to the files (whether they will be copied, deleted, or moved). Once you have reviewed the differences, click "Continue": © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Quick Start 48 In this example the Differences Window shows 2 collisions. A "collision" is when a file in the source and destination differ but have the same name. In other words, the file is in both the source and destination but is modified in some way, perhaps by date, size etc. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 49 SyncBackPro Help A notification of collisions occur in the Differences window which appears by default when making a backup (note however there are circumstances when the Differences window does not appear, for example when the user has chosen not to show the window). Collisions are shown in red in the Differences window to highlight there are going to be changes made when you continue the profile task. If the user views the Differences window carefully, the user has the option to make choices about whether they want to accept the changes SyncBackPro will make. The user has the option to bypass these choices by selecting a specific item in the Differences window with a right click. A different action may then be chosen. After the profile has been processed the main window will look slightly different as the temporary stop and pause icons are no longer viewable. You have now successfully created a simple backup profile. To create a Group Profile you'll need to create two profiles or more. You'll then have the opportunity of running these profiles as one. To find out more about this feature go to Creating a Group Profile. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro Part III 51 SyncBackPro Help 3 Using SyncBackPro A Guide to Using SyncBackPro SyncBackPro is a powerful, easy to use commercial program that helps you backup and synchronize your files to: the same drive; a different drive or medium (SD card, USB key, CompactFlash, etc); an FTP or SFTP server; an Email server; a Network; the cloud; a Media Transfer Protocol (MTP) device, e.g. a phone; or a Zip archive. SyncBackPro can copy locked and open files as easily as the usual closed files. This allows you to backup, synchronize and restore any data you wish to. Using SyncBackPro guides you through the essential functions and operation of SyncBackPro. 3.1 All Content: 2BrightSparks Pte Ltd © 2003-2021 Basic Operation Essential Knowledge If you have never used SyncBackPro before, you are strongly advised to read this section of the help file: Basic Operation The Main Window Exporting and Importing Creating a Profile Running a Profile Creating a Group Profile Restoring a Backup © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Creating a Schedule Burger Menu Profiles Pop-Up Menu View Global Settings Dialogs Comparison Programs Logging Settings Windows Shell Extension Linked Cloud Accounts Queue Shared Settings Profile Progress Exploring SyncBackPro Using SyncBackPro 52 3.1.1 All Content: 2BrightSparks Pte Ltd © 2003-2021 The Main Window SyncBackPro is a simple program to use with many options and user definable parameters. The program is perfect for the novice and expert alike. All the essential tasks in SyncBackPro can be carried out from the main window by clicking an icon on the lower toolbar: SyncBackPro also has a toolbar at the top of the windows that provides easy access to all its functions, and a right click pop-up menu that is available when a profile is highlighted: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 53 SyncBackPro Help You can quickly go to these items using shortcut keys (Alt-P, Alt-T, Alt-E, Alt-V, Alt-H and AltS). If the Common toolbar item is being displayed then you can use Alt-C. You can also tap the Alt key to show/hide the items. At the top-left is also a burger menu , which when clicked (or Alt-B is pressed), has further options: The main window below shows SyncBackPro running a backup 'Profile' called Personal Documents: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 54 Once a Profile has been defined, the user need only click the Run button to carry out the task. Alternatively the Profile can be scheduled to run at certain times and dates: 3.1.2 All Content: 2BrightSparks Pte Ltd © 2003-2021 Exporting and Importing Profiles You can copy a profile from one installation of SyncBackPro to another by exporting and importing profiles. This also lets you make a backup of your profiles settings. · To export a profile: select the profile (or profiles) in the main window and select Export / Import -> Export Profile from the top toolbar, then choose where to save the profile. To export all your profiles press Ctrl-A then select Export / Import -> Export Profile. Note that unless your groups are expanded the profiles in them will not be selected. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 55 SyncBackPro Help · To import a profile: select Export / Import -> Import Profile from the top toolbar then choose the file(s) that contains the profile. You can import profiles from any current or previous version of SyncBackPro or SyncBack freeware. When importing profiles exported from versions of SyncBack freeware, or SyncBackSE V3, then some directory selections may not be imported. It is recommend that group profiles are imported last to ensure the profiles in the group exist at the time the group is imported, otherwise the group may fail to import. · To import your SyncBackSE profiles: If you also have SyncBackSE installed, when SyncBackPro is run for the first time it will try to automatically import your SyncBackSE profiles. If this fails, or you decide at that time not to import the profiles, you can use this menu at a later date to try again. · To import your SyncBackLite profiles: If you also have SyncBackLite installed, when SyncBackPro is run for the first time it will try to automatically import your SyncBackLite profiles. If this fails, or you decide at that time not to import the profiles, you can use this menu at a later date to try again. · To import your SyncBackFree profiles: If you also have SyncBackFree installed, when SyncBackPro is run for the first time it will try to automatically import your SyncBackFree profiles. If this fails, or you decide at that time not to import the profiles, you can use this menu at a later date to try again. · Shared Settings are exported and imported with profiles. If you import a profile that has shared settings, then the shared settings that are imported replace the existing shared settings. · Linked Cloud Accounts are not imported with profiles. If you import a profile that uses a linked cloud account then the profile will use your linked cloud account. · It is not recommended to import profiles exported from newer versions of SyncBackPro. For example, do not import SyncBackSE V10 profiles into SyncBackSE V9. · Profiles exported from old versions of SyncBackSE or SyncBack (V3 and before) will import incorrectly if the Windows XP/2003 non-Unicode locale is different. For example, if you import a V3 profile exported from XP where Chinese was the non-Unicode locale, then you must set your non-Unicode locale to Chinese. 3.1.3 All Content: 2BrightSparks Pte Ltd © 2003-2021 Creating a Profile Profile Types © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 56 Choose a Backup profile when you want to backup (copy) your new and modified files to another place, e.g. an external hard drive or an FTP server. Source Backup Destination Choose a Synchronization profile when you have two directories in which files are changing and you want them both to contain the same files. For example, you may have a directory on your computer containing documents you are working on. A colleague may also be working on documents on his computer. If you want to copy his new and modified files to your local directory, and copy your new and modified files to his directory, then you need to use a Synchronization profile. Source Synchronization Destination Choose a Mirror profile when you want one directory to be identical to another directory. It is not the same as a backup because it deletes files. It is also not the same as synchronization because it only copies files in one direction. Source Mirror Destination What is the difference between Basic and Intelligent Synchronization? Intelligent Synchronization keeps track of what changed the last time the profile was run so that it knows if a file has been deleted, created, or changed since the last profile run. This helps you (and SyncBack) make an informed decision about what to do when something changes. It also gives you a comprehensive choice of options on what to do with a file when specific things happen, e.g. the file is deleted for the source but not the destination. Regular synchronization does not keep track of changes and has a limited set of options. Whenever possible you should use Intelligent Synchronization instead of regular synchronization. If you import a sync profile from V3 then it will not be using Intelligent Synchronization (as that feature was not available in older versions) and instead will be using the old basic synchronization. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 57 SyncBackPro Help Choose a Group profile when you want to create a profile that contains other Backup or Synchronization profiles. This allows you to run many profiles at once. So what is the difference between a backup process and a synchronization process? A backup process copies files in one direction: from the source to the destination. A Synchronization process copies files in both directions: from the source to the destination and from the destination to the source. Creating Profiles A profile stores information about the folders or files you would like to backup or synchronize using SyncBackPro. Profiles can be very specific as to what, when, and how a given task is performed, but we are going to be concentrating on creating a simple backup profile. Be aware that different settings and choices will become available during the profile creation process depending on what you would like SyncBackPro to do. If you are uncertain in any way about the different options available, please read the Understanding Backup and Synchronization before you create a profile. The Profile Setup Wizard walks you though the process of setting up your profile. The default settings in the SyncBackPro Profile Setup Wizard will help ensure you will easily create a Backup profile. Click the New button located on the lower left of the program window: The Profile Wizard window will appear. The window is large to accommodate the varied settings and input fields that can appear during the profile setup process depending on the choices you make. If you would like to know more about a program window simply click the F1 key to view the help section relating to it. Enter a name for your new Profile: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 58 Click Next located at the lower right of the window. For this example we are creating a backup profile which is the default option: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 59 SyncBackPro Help The wizard will ask whether you wish to choose the Source and Destination. The Source is where you are copying your files from, and the Destination is where you are copying your files to. The Internal/External drive, network path etc. option is always the default on each side unless a different option is selected from the drop down lists. Available options can vary depending whether it will be the Source or Destination (for example, Email messages can only be a Source). It should be noted that selecting a non-default option for one side generally means you can only select the basic/default ('drive or network path') option for the other side. This is due to internal design aspects. In this example where the default settings are used, you need only click the Done button. But if you choose non-default settings, an additional Next button may appear, whereby you can optionally specify additional settings (alternatively, you can complete them in the main Profile Setup window later). For example, if you choose FTP from the drop down list, and click Next, you will be prompted for your FTP details. For technical reasons, if you do click Next (where available), you will not be able to switch Back to the previous wizard screen and will thus - if you change your mind - need to Abort the wizard and restart the process. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 60 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 61 SyncBackPro Help An information window now appears informing you that you will be able to view and make changes to your profile. Click OK: The Profile Setup window now opens. You will need to define your Source and Destination locations by clicking each of the flashing blue folder icons. Be aware these will change to yellow folder icons after a few seconds: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 62 When you click the folder icon a directory selection window will appear in which you will locate your source or destination - Click Select Folder. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 63 SyncBackPro Help The Profile Setup Window will now display all the selections you have made. You will notice that by default SyncBackPro has automatically built options that will make your backup proceed more reliably and quickly than if you simply copy the contents of the My Documents folder into another drive: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 64 Click OK. A Window will open which asks whether you would like to perform a simulated run. This allows you to check the profile functions correctly without actually copying any files. Click Yes. In the following example a Business profile has been defined, the simulation accepted, and the Differences window opens. The Differences window shows all the files that would be copied in an actual run. Click Continue Simulation: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 65 SyncBackPro Help The main program window will now open. You may now run this backup profile at any time by selecting a profile and then clicking the Run button: The next section of this help file shows you how to 'Run' the Profile. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 66 3.1.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 Running a Profile To run the Profile select the profile in the main program window, then click the Run button: When a profile is running (or paused) it will have two icons shown to the left of it: Click the icon to stop the profile. Click the show the icon to pause the profile. If the profile is already paused then it will instead icon. Click it to continue the profile. A pop-out window on the right will appear as the files are being processed: As the profile is being processed an icon will also appear on the Windows System Tray (Taskbar corner) located on the bottom right of your screen. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 67 SyncBackPro Help SyncBackPro icon when a profile is not running: Animated SyncBackPro icon when a profile is running: However, for it to appear in the Notification Area (also known as the System Tray and Taskbar corner), next to the clock, you may need to drag the icon to the position you want it to be. Alternatively: · On Windows 11 right-click on the taskbar and selecting Taskbar Settings. This takes you straight to the Settings > Personalization > Taskbar screen. Expand the Taskbar corner overflow section and scroll down until you see the entry for SyncBackPro and then change the switch setting to On. · On Windows 10 right-click on the taskbar and selecting Taskbar Settings. This takes you straight to the Settings > Personalization > Taskbar screen. Scroll down to the Notification Area section and click the "Select which icons appear on the taskbar" link. Use the list here to customize which icons appear on the taskbar. Icons set to On will appear on the taskbar, while icons set to Off will be hidden behind the up arrow. · On older versions of Windows you may need to press the Customize... link and configure Windows to Show icons and notifications for SyncBack: Depending on your settings, the Differences Window may appear after the initial scan takes place. The Differences Window shows what will happen to the files (whether they will be copied, deleted, or moved). Once you have reviewed the differences, click Continue Run: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 68 In this example the Differences Window shows 2 collisions. A "collision" is when a file in the source and destination differ but have the same name. In other words, the file is in both the source and destination but is modified in some way, perhaps by date, size etc. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 69 SyncBackPro Help A notification of collisions occur in the "Differences" window which appears by default when making a backup (note however there are circumstances when the "Differences" window does not appear, for example when the user has chosen not to show the window). Collisions are shown in red in the "Differences" window to highlight there are going to be changes made when you continue the profile task. If the user views the Differences window carefully, the user has the option to make choices about whether they want to accept the changes SyncBackPro will make. The user has the option to bypass these choices by selecting a specific item in the Differences window with a right click. A different action may then be chosen. After the profile has been processed the main window will look slightly different as the temporary "stop" and "pause" icons are no longer viewable. You have now successfully created a simple backup profile. To create a Group Profile you'll need to create two profiles or more. You'll then have the opportunity of running these profiles as one. To find out more about this feature go to Creating a Group Profile. 3.1.5 All Content: 2BrightSparks Pte Ltd © 2003-2021 Creating a Group Profile Once you have created two or more profiles you may group them together. Group profiles are collections of pointers to profiles. This allows you to run multiple profiles in one go instead of having to run each profile one after another. This page of SyncBackPro Help runs through the simple procedure you'll need to follow. Creating a Group Profile Click the New button from the bottom toolbar. Enter a name for your profile and tick the This is a group profile checkbox: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 70 Click the Next button. An information window informs you the Profile Setup window will open. You may click the Do not prompt me again if you do not wish to be notified of this in the future: The Group Profile Setup window will open. The example below shows two profiles that can be grouped together. If you have many categories of profiles, there is an drop-down option to filter the categories that are listed. You can add and remove profiles from the group using the <, © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 71 SyncBackPro Help <<, >, and >> buttons. You can order the profiles in the group by selecting one or more profiles and using the up and down buttons on the right which are currently grayed out. Profiles in the group are executed in the order displayed (first to last): After you click OK an informational window will ask whether you wish to perform a simulated run which provides a report on what will be copied or deleted without actually copying or deleting any files. In the example below the Simulated Run option has been chosen (recommended), and the Differences Window shows the files that will be copied if an actual run is performed. Click Continue Simulation: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 72 The main program window now shows when the Group Profile was last run, and also that the simulation was successful for both profiles that were run: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 73 SyncBackPro Help After you click OK the main program window will show the group. Note how the small box to the left of the "Group" profile can be clicked to show what profiles are in the group. Modifying Group Profiles To alter the profiles in a group, select a Group Profile in the main window and click the Modify button in the from the bottom toolbar (alternatively right-click on the profile in the windows and select Modify). The profile configuration window will then appear. You can now change what profiles are associated with a group and the settings for the group. For help on the other settings see the Easy Mode and Expert Mode Configuration sections. Under 'All available profiles' you can see the profiles that can be put into the group. There is a also a drop-down list so that you can filter the list to include all profiles, non-group profiles, or group profiles. You can add and remove profiles using the horizontal arrow buttons between the two lists, and can order the profiles using the up and down arrow buttons on the right of the window. Run profiles in parallel: By default, the profiles in a group are run in the order you provide, from first to last. The next profile is started once the previous one finishes. You can choose to have all the profiles in a group run at the same time by enabling this option. It is not recommended you select this option because it will probably increase the time taken to run the profiles and overload your computer, drive, network, memory, etc. Note that if your group contains other groups then the group will be run serially and not in parallel. Stop the group if any profile fails: When enabled, if a profile fails then the entire group is stopped. This can be useful if a profile in the group needs previous profile(s) to have worked correctly. This option is only available if the profile is run serially, i.e. not in parallel. Expert Options Additional settings are available when choosing the Expert options from the either the burger menu at the top-left of the menu, or by clicking the Expert button on the left: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 74 3.1.6 All Content: 2BrightSparks Pte Ltd © 2003-2021 Restoring a Backup Restoring a backup in SyncBackPro is a simple matter of selecting a profile and clicking the Restore button located in the lower toolbar (you may also select Restore from the right-click pop-up menu). Note that you cannot run a restore with a Synchronize profile. Source Destination When a profile is run as a Restore the following dialog first appears: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 75 SyncBackPro Help Click Yes to continue. The Restore Wizard then appears: There are three tabs at the top of the window: · Basic: This is where you can choose which folders to restore from and to. You can also choose the rollback to a specific date. · Advanced: Depending on your profiles settings, the Advanced tab may show a number of options. These are explained below. · History: Like in the profile configuration, you can view the history of the profile. You can optionally choose which files and folders to restore by clicking the Choose subdirectories and files button. Note that you will still have an opportunity to select files and folders to restore once the profile is run via the Differences window. Click the Restore Now button to begin the restore process. After these steps, and the source/left and destination/right are scanned, the Differences window will appear. This gives you another opportunity to abort and also examine and optionally change which files will be restored and how they are restored. If your backups are incremental or differential, i.e. you are using variables in your destination, then you'll need to think about what order to restore in. For a differential backup you would restore the full backup first, followed by the newest differential backup. However, if your last backup run was a full backup then you only need to restore from the full backup. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 76 For an incremental backup you would restore the full backup first, followed by oldest incremental backup to the newest incremental backup. However, if your last backup run was a full backup then you only need to restore from the full backup. For example, if your backups are stored at D:\My Backup\%DAYOFWEEK%\, and you do a full backup on Monday, and today is Wednesday (and today's backup has already run) then you'd restore Monday first (D:\My Backup\1\), then Tuesday, and finally Wednesday. This makes sure you have the newest files restored as they will overwrite older files already restored. It also makes sure you restore all your files because the incremental backup directories will only contain some of your files. Restore From You are given the opportunity to restore from a different folder. This is especially important if your destination (backup) folder (where the files will be restored from) contains variables: If you are planning to restore from a sub-directory of your original destination directory (or, from somewhere else altogether), you may have issues with file & folder selections and filters. See the Restoring and Selections section for more details. Restore To You are given the opportunity to restore to a different folder. This is especially useful if: · You wish to use a different empty folder to force a full restore, and/or segregate the resulting restored files from the original source/left files · You wish to restore only a subset of your files, and are thus specifying a particular subfolder on each side · Your source/left folder (where the files will be restored to) contains variables If you are planning to restore to a sub-directory of your original source directory (or, to somewhere else altogether), you may have issues with file & folder selections and filters. See the Restoring and Selections section for more details. Advanced Depending on your profiles settings, the Advanced tab may show a number of options. Moving Files If the profile, or one of the profiles in the group, is configured to move files then the following question will be asked: The profile is configured to move files. Would you like to disable file mov © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 77 SyncBackPro Help When restoring you would typically not want your backup files moved as you would lose your backup files. It would be better to copy them so after the restore you still have the backup files. By default, files are not moved when restoring. Delete All Files If the profile, or one of the profiles in the group, is configured to delete all the files in the source/left and/or destination/right then the following question will be asked: The profile is configured to delete ALL files and folders on Source and/or When restoring you would usually not want your backup or original files deleted. By default, all files are not deleted when restoring. Delete Files If the profile, or one of the profiles in the group, is configured to delete files that are only in the destination/right then the following question will be asked: Profile is configured to delete files from Destination that are not on Sour When restoring you would probably not want files only in the source/left to be deleted (as this is a restore the source/left becomes the destination). By default, files are not deleted when restoring. Newer Files If the profile, or one of the profiles in the group, is not configured to keep newer files then the following question will be asked: Profile is configured to allow older files from Source to replace newer fil When restoring you probably do not want to replace any newer original files with older backup files. By default, older files are not replaced when restoring. Before/After Programs If the profile, or one of the profiles in the group, is configured to run a program before and/or after the profile then the following question will be asked: The profile is configured to execute external programs before and/or after When restoring you may not wish to run those programs. By default, the before and/or after programs are run. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 78 Switching off Selections and Filters If you changed the directory to restore from a sub-directory of your destination then it is strongly advised that you switch off the filters and selections. See the Restoring and Selections section for more details. Reverse Group In some cases you may want the group to run in reverse. For example, if you have a group that does a backup to a Zip file then copies the Zip file to an FTP server you probably need to run this in reverse, i.e. first retrieve the Zip file then unzip. 3.1.7 All Content: 2BrightSparks Pte Ltd © 2003-2021 Creating a Schedule SyncBackPro interfaces with the Windows Task Scheduler to allow you to run profiles automatically at certain times, e.g. run a backup profile every day at 5am. For an overview of scheduling and background tasks go to Automating SyncBackPro. Creating a Schedule To create a schedule for a profile, select the profile on the main screen and click the Schedule button (you can also create a schedule when modifying a profile). If there is no schedule for the profile, a dialog box will appear (if you have a schedule already then a different window will appear - see Modifying a Schedule below). There are also two drop-down menu options on the Schedule button. These only apply when creating a new schedule. If there is already a schedule then it will simply edit the existing schedule: o Run whether user is logged on or not: This is the default and what happens when the Schedule button is clicked. To create schedules that run even when you are not logged in it is a requirement of Windows security that you provide your Windows login password. This cannot be your pin, facial recognition, finger-print, etc. It must be your login password. o Run only when user is logged on: This creates a schedule that will only run if you are logged on when the scheduled time occurs. In this case you do not need to supply your Windows login password because the schedule will only run if you are already logged into Windows. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 79 SyncBackPro Help Click Yes. On Windows, by default, you are not allowed to use blank/empty passwords when scheduling tasks. If this is the case on your installation of Windows then a prompt will appear asking you if you would like the restriction removed (no prompt is given if the restriction has already been removed): Click Yes to remove the restriction. If your Windows login password is blank/empty, and this restriction is not removed, then your scheduled task will fail to run. You can choose to run a profile daily, weekly, or monthly (for other repeating type you'll need to edit the schedule directly using the Windows Task Scheduler). You can also choose how often the profile should be run (repeating). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 80 To change the default settings for a schedule, click the Settings tab at the top of the window: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 81 SyncBackPro Help Security · Run only when user is logged on: If this checkbox is ticked then the profile will only run at the scheduled times if you are logged into Windows. The benefit of this method is that you do not need to enter your Windows login password. The drawback is that you must be logged on for the profile to run. · Run whether user is logged on or not: If this checkbox is ticked then the profile will run even if you are not logged in. You will need to enter your login password, unless the "Do not store password" option is ticked. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 82 o Do not store password: If you are performing a backup/sync with an internal drive, or an external drive, then you can tick this checkbox. In this case you do not need to enter your Windows login password. However, if you are performing a backup/sync with a network drive, or are accessing the network or using FTPS you should not use this option otherwise the schedule may fail to run. Starting with Windows 10, you cannot create a schedule with the Do not store password setting. Using this setting with Windows 10 (or newer) stops the scheduled task from running. o Run interactively if user logged on: If this checkbox is ticked then the scheduler will run SyncBackPro in the same session as the logged on user. If you are using Windows 10 then it is not recommended that you use this option as it will likely mean the schedule is not run. If this checkbox is not ticked then the scheduler will run SyncBackPro in session 0, i.e. any logged in user will not see SyncBackPro being run. Repeating · Run this profile every...: Using this option you can have a schedule run repeatedly at the scheduled time. It is unlikely that you will need this option. For example, you may want the profile to be run every day at 9am, and once it is run for it to be run again every hour for the next 6 hours. To schedule a profile to only run once at a scheduled time select a Daily profile and enter 0 for the Recur every x days value. Misc. · When all profiles end: You can optionally have the computer reboot, shutdown, etc. once the profiles have completed. IMPORTANT: SyncBackPro only looks at the final command line parameter to decide on what action to take (if any). If you are manually editing your schedules in the Windows Task Scheduler then keep that in mind. If you are manually running your profiles (not via the scheduler) and want the computer to shutdown, reboot, etc. after the currently running profiles have ended then see Preferences in the burger menu. · Wake the computer to run this task: If this checkbox is ticked (the default) then Windows will attempt to wake your computer to run the task, e.g. if your computer is hibernating then it will switch it on. Note that Windows is responsible for waking your computer, not SyncBackPro. Unfortunately it's common for this feature of Windows not to work with the main reason being out-of-date and incorrect drivers for your motherboard. · Run task as soon as possible after a scheduled start is missed: If this checkbox is ticked (the default) then Windows will run the scheduled task as soon as possible if the task did not run. For example, you may have a profile set to run at 4am every morning but there was a power cut and the computer could not wake to run the task. If this option is enabled © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 83 SyncBackPro Help then once the computer is switched on, e.g. at 9am, then the task will be run as soon as possible. · Start the task only if the computer is on AC power: If this checkbox is ticked (the default) then Windows will only run the scheduled task if the computer is plugged in, i.e. it is not using batteries. Windows decides if the computer is on AC power, not SyncBackPro. · Stop the task if it runs longer than: If this checkbox is ticked (not the default) then Windows will stop the scheduled task if it takes longer than the time you specify. · If the scheduled task is already running: Using this setting you can tell the Windows Task Scheduler what to do if the scheduled task is already running. The default is Do not start a new instance. Note that you cannot choose Run a new instance in parallel because that is not possible with SyncBackPro (you cannot have the same profile running more than once at the same time). Note that if you have no password then SyncBackPro may not prompt you for your Windows login password (as it will test to see if your password is blank). See the Important Scheduling Information section below for more information. Modify a schedule If you already have a schedule for a profile, when you click the Edit Schedule button the following window will appear. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 84 This window displays information on the schedule for the profile, e.g. what its schedule is and the current status. You can delete the schedule by clicking Delete Schedule. Shared? If the schedule is used to run more than one profile then it will be indicated here (you cannot change this setting, it is display only). This can only happen if the schedule has been manually edited in the Windows Task Scheduler. This is not recommended. Disabled? If the schedule has been disabled in the Windows Task Scheduler then it will be indicated here (you cannot change this setting, it is display only). This can only happen if the schedule has been manually disabled in the Windows Task Scheduler. This is not recommended (you should just disable the profile itself in SyncBackPro). Important Scheduling Information There are some important points to remember about the Windows scheduler: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 85 SyncBackPro Help · If you are creating a profile to run whether your are logged in or not, then you must supply your Windows login password. This is a requirement of Windows. You cannot use your pin or Windows Hello. It must be your Windows login password. This is a requirement of Windows, not SyncBackPro. · If you are creating a profile to only run if you are already logged in, then you do not need to supply your Windows login password. · If you are using power saving features in Windows, e.g. your computer goes to stand-by or hibernate after a certain period of inactivity, then you must enable the Wake the computer to run this task option. This will wake your computer to run the task at the appointed time. · If you change your Windows login password then you must remember to change the password for your scheduled tasks. You only need to update the password for one schedule. Windows will automatically update the password for all other scheduled tasks. · SyncBackPro can accept a number of Command Line Parameters. · To have SyncBackPro start with Windows you need to select Global Settings from the burger menu (in the main window) then tick the option Start With Windows. Common Problems There are a number of possible reasons why the scheduled task may not run: · Check to see what error message is returned from the Windows Task Scheduler. On Windows 10 you can do this by Start > Windows Administrative Tools > Task Scheduler. Expand the tree on the left so it is Task Scheduler (Local) > Task Scheduler Library > 2BrightSparks > SyncBack > [your username]. · You must use your Windows login password. · You are using the wrong username and/or password. You must use your Windows login password. · The scheduled task may not be set-up correctly to wake the computer if it is hibernating or in standby mode. · The scheduler may be stopped or not installed. See your Windows documentation for details on how to start or install it. · Profiles are user specific, they are not visible to every user on the computer. This means when you create a profile under a Windows username, and logout and login as a different Windows user, then you will not see the profile created as the other user. When scheduling a profile make sure your scheduled task is being run as the user who created the profile (this is the default when new schedules are created). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 86 · If you are a member of a domain check that the correct username is being used for the scheduled task. By default your local (machine) username may be used, but it may be that you must use your domain username (domain\username). · You should also make sure the user account has the necessary Windows user rights. To do this, run the Local Security Policy control panel applet (in the Administrative Tools section of the control panel). If you are using the home version of Windows then you may not have access to the Local Security Policy control panel applet (Microsoft have removed the feature from home versions of Windows). Make sure that the user account has the following user rights: · Act as part of the operating system · Log on as a batch job · Log on as a service Make sure the user account is not listed in the following user rights: · Deny logon as a batch job · Deny logon as a service 3.1.8 All Content: 2BrightSparks Pte Ltd © 2003-2021 Burger Menu At the top-left of the main windows is a burger menu , which when clicked, shows more options: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 87 SyncBackPro Help Global Settings This opens a window where you can change settings that apply to the entire program. See this page of the help file for more details. Preferences If Preferences is clicked then a further set of options is presented: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 88 · Only show groups and profiles not in a group: If unticked then all profiles and groups are listed in the main window. If the option is ticked then the top level list of profiles will not include profiles that are part of a group or groups that are in other groups. The top level list will only show profiles that are not in any group, and groups that are not in any other group. Ticking this option helps unclutter the list. · Output Debug Information: If this item is ticked (enabled) then when profiles are run, or profiles modified, debug files are created. These debug files contain detailed information that allows 2BrightSparks to pin-point any errors or problems with the program (it is used by the Technical Support Wizard). By default this item should not be ticked. Only tick this menu item when instructed to do so by 2BrightSparks technical support. When enabled it can significantly reduce performance. You can enable flushing by enabling the option Flush the debug log. Flushing ensures all debug output is written to the disk immediately and not cached. · Hide The Button Panel: If this menu item is ticked (enabled) then the button panel is hidden. To change where the button panel is displayed then right-click on it and choose from the pop-up menu. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 89 SyncBackPro Help · Minimize On Close: If this item is ticked then SyncBackPro will minimize instead of closing (exiting) when the Close button (the X button in the applications title bar) is clicked. In this case you must click the Exit button to close SyncBackPro. · Minimize On Run: If this item is ticked SyncBackPro will minimize automatically when a profile is run. · Disable Hibernate/Standby: If this item is ticked then SyncBackPro will stop your computer from hibernating or going into standby power saving modes if any profiles are running. If your computer is using batteries this option is disabled and cannot be used. Note that if your computer is running on batteries, and your batteries are low, SyncBackPro will automatically pause all running profiles and display a warning message. SyncBackPro can put your computer into hibernate or standby mode after profiles are run. For more information, see the page Command Line Parameters. · Do not auto-pause profiles when computer is suspended: If this item is ticked then SyncBackPro will not pause all the profiles when the computer is suspended. Otherwise if the computer is suspended, e.g. you close the lid on a notebook computer, then SyncBackPro will pause all the profiles immediately. After the computer is woken it will automatically resume the profiles that were suspended. · When all profiles end: This setting is only available when profiles are currently running. You can choose what SyncBackPro should do when the currently running profiles finish. This can be useful, for example, if you need to leave the office and a long running profile is currently running. The options are: shutdown, exit, logout, reboot, standby (sleep) and hibernate (deep sleep). · Minimize To Tray: If this item is ticked then SyncBackPro will minimize to the system tray (taskbar corner) instead of to the task bar. · Hot-tracking: If this item is ticked then SyncBackPro will use hot-tracking on the Main window, the Sub-directories & Files window and the Differences window. Hot-tracking is where the item the mouse is over is highlighted. The default is not to use hot-tracking. · Horizontal Lines: If this item is ticked then SyncBackPro will show horizontal lines in the Main window, the Sub-directories & Files window and the Differences window. The default is to show horizontal lines. · Vertical Lines: If this item is ticked then SyncBackPro will show vertical lines in the Main window, the Sub-directories & Files window and the Differences window. The default is not to show vertical lines. · Open .sps files with SyncBackPro: Exported profiles have the filename extension of .SPS. If another program has set itself as the default program for opening .SPS files, then this menu item will appear allowing you to change it back to SyncBackPro. Dialogs © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 90 This opens a window where you can change which dialog boxes appear. See this page of the help file for more details. Scripts This opens a window where you can extend the abilities of SyncBackPro by using scripts. See this page of the help file for more details. Comparison Programs This opens a window where you can change which programs are used in the Differences window to compare the contents of files. See this page of the help file for more details. Management Service Settings See the SyncBack Management Service help page for more details. Windows Shell Extension Settings See the Windows Shell Extension help page for more details. Linked Cloud Accounts See the Linked Cloud Accounts help page for more details. Shared Settings See the Shared Settings help page for more details. Language The language used can be changed using this menu. Note that only the translated languages installed are listed. By default the language selected during installation is used. Style You can choose the style SyncBackPro should use. By default, the Windows10 style is used. You can optionally change to using Windows or Windows10 Dark.. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 91 SyncBackPro Help 3.1.9 All Content: 2BrightSparks Pte Ltd © 2003-2021 Profiles Pop-Up Menu If you right-click on a profile then a pop-up menu appears with a number of menu items. Many of these functions can be used with multiple-profiles. There are a number of ways to select multiple profiles, for example: · Press Ctrl-A to select all profiles (to unselect all press Ctrl-U). · While holding down the Ctrl key click on the profiles you want selected. · You can select a range of profiles by clicking on a profile, then while holding down the Shift key, click another profile. Some of the menu items may not be available due to limitations. For example, some functions cannot be used with groups (e.g. Open Left/Source) or they can only be used with a single profile and not multiple profiles (e.g. Modify). If your screen resolution is low some items will be removed, otherwise the menu will be too long to be displayed. Also, many of the menu items will also show the shortcut key. For example, you can run profiles by selecting them and using the shortcut key Ctrl-R · Run (Ctrl-R): Runs the selected profiles. · Run (Unattended): Runs the selected profiles in unattended mode. This means there will be no prompting and the Differences window will not be displayed. · Run (No Action changes allowed): Runs the selected profiles, and display the Differences window, but does not allow any changes to be made to the actions or any versions to be restored. Also no prompts will be made (if the profile is configured to prompt for actions). Instead of prompting the file or folder will be skipped. This option is for use with Fast Backup profiles where you want the Differences window to appear but do not want the versions to be scanned. · Simulated Run (Ctrl-S): Runs the selected profiles in simulation mode. · Integrity Check (Ctrl-S): Runs the selected profiles in Integrity Checking mode. · Restore: Runs the selected profiles in restore mode. · Simulated Restore: Runs the selected profiles in simulated restore mode. · Queue: The sub-menu allows for queuing of profiles and clearing the queue. · Open Left/Source: Using Windows File Explorer, it will open to the source/left folder on the selected profiles. · Open Right/Destination: Using Windows File Explorer, it will open to the destination/right folder on the selected profiles. Note that some destinations cannot be opened, e.g. if you © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 92 are performing a backup to the cloud then it will not do anything. For FTP, it will use the FTP URL ftp://[user ID:password@]<host name>[:port]/[path/] · Modify (Ctrl-M): Modifies the selected profile. · Schedule: Creates or modifies the profiles schedule. · Delete (Del): Deletes the selected profiles. · Rename (F2): Renames the selected profiles. · Copy (Ctrl-C): Makes a copy of the selected profile. · Export Profile: Exports the selected profiles. Exporting profiles lets you import them into other installations of SyncBackPro and is also a way of making a backup of a profile. In the Global Settings window, you can configure SyncBackPro to automatically make backups of all your profiles when SyncBackPro exits. · Upload Profile to SBM Service: The selected profile is uploaded to the SBM Service. See the SyncBack Management Service help page for more details. · Enable: Enables a previously disabled profile. · Disable: Disables the selected profiles. A disabled profile cannot be run by any method (including scheduled, manually, etc.). You cannot disable group profiles. · Clear groups result: The selected groups will have their last Result cleared. · Rescan: The selected profiles, if they are Fast Backup profiles, will have their Fast Backup data cleared and a re-scan will be forced on the next run. This is the same as modifying the profile(s) and clicking the Force re-scan button. · Background Colour: This allows you to change the background colour of a profile. To reset/clear a profiles background colour select Clear. Background colours are purely cosmetic and have no affect on the profile itself. · Refresh (F5): The display is refreshed so the information display is current. This can be useful if you have profiles running in another instance of SyncBackPro, e.g. via a schedule, and the display isn't refreshing automatically. · Select all (Ctrl-A): All the visible profiles are selected. If you have an unexpanded group then those profiles in the group will not be selected. · Unselect all (Ctrl-U): The current selections are de-selected. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 93 SyncBackPro Help · View Log: The log for the selected profiles is displayed. Note that you may have a history of logs for a profile so you can choose which log to display using the sub-menu. To display the latest log you can press Ctrl-L. · View Debug Log: The debug log for the selected profiles is displayed. Debug logs are for internal use. · Pause: The selected profiles are paused. To resume them select Resume. · Resume: If paused, the selected profiles are resumed. · Stop: The selected profiles are stopped. If the profile is being run as part of a group then the entire group is stopped. · Stop profile only, not group (Ctrl-O): The selected profiles are stopped, but not the group it is running as a part of. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.10 View The main window has a number of columns that provide information on the profiles. You can choose which columns to display via the View tab. You can also show/hide columns by rightclicking on the column header and choosing to show/hide a column. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 94 · Stop: When a profile is running you can click on the icon shown in the Stop column to stop the profile. If you stop a profile that is being run as part of a group then all the other profiles in the group will also be stopped. · Play/Pause: When a profile is running you can click on the icon shown in the Stop column to pause/continue the profile. Note that when a group profile is run (and it is not set to run the profiles in parallel) it will run the profiles in the group one after another. Those in the group waiting to run are paused until the previous profile in the group has finished. SyncBackPro will then automatically continue the profile when it is its turn to run. · Type: The type of profile, e.g. Backup, Fast Backup, Synchronization, etc. · Last Run: When the profile was last run. If it has not been run yet then it will show Never. · Result: The result of the last profile run. Note that if any file fails to be copied, moved, or deleted, for any reason at all, then the profile run is considered a failure. Success is when there were no errors. · Next Run: When the profile will next be run. You can run the profile manually at any time (unless it is disabled or already running). The next run date & time takes into account schedules and periodic runs. If the profile is in a group then it will also take that into account. For example, a profile may be set to run at 2pm but could be in a group that is set to run at 1pm. In the main window it will show the appropriate time depending on whether the profile is shown in the group or not. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 95 SyncBackPro Help · Source / Left: The source/left folder. · Destination / Right: The destination/right folder. · Background: If the profile is set to run in the background, e.g. every 30 minutes or whenever there are changes in the source or destination, then this column will contain the details. · Progress: When a profile is running this column shows the same information shown in the profile progress. · Last Successful Run: The date & time the profile was last run without error. If it has not yet run without any errors then it will show Never. · Last Scheduled Run Error: If the Windows Task Scheduler had a problem running SyncBackPro, e.g. password is incorrect, then this column will show the reason why SyncBackPro could not be started to run the profile at the scheduled time. If the profile is not scheduled, or there was no error the last time it was run at the appointed schedule, then this column will be empty. · With the Pro version you can add your own columns by using scripting. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.11 Global Settings At the top-left of the main windows is a burger menu , which when clicked, shows more options, one of which is Global Settings: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 96 Update Check: If this button is clicked a check is made to see if a new version of SyncBackPro is available for download. You can also check via the Help tab in the main window. Internet access is required to check for new versions. If a new version is found, you have the option to ignore it. If so, SyncBackPro will not prompt you again about a new version being available (when doing automated periodic update checks). Skipping versions is not recommended as they may contain critical bug fixes. Easy · Stop background backups from starting: If ticked, any profiles set to run in the background (periodically, via a file/folder change or when a program is started or stopped) will not be started. This does not affect scheduled tasks, profiles set to run on media insert, or profiles set to run on login or logout. · Stop all running profiles when Windows is shutdown or restarted: If enabled then when you shutdown or restart Windows then all running profiles will be stopped. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 97 SyncBackPro Help · Prompt me to remove the blank password restriction on the Windows Scheduler: By default you cannot use a blank/empty password when scheduling tasks. If this item is ticked then whenever you schedule a profile, and you are using Windows with this restriction, you will be prompted to ask you if you'd like SyncBackPro to remove that restriction. Note that you will not be prompted if the restriction has already been removed. If you do not have the access rights in Windows to remove the blank password restriction then the checkbox is disabled. · Check periodically for new versions: If ticked then SyncBackPro will check, every 30 days, if a new version of SyncBackPro is available. See also the Update Check button (to check for a new version immediately) and also the Help -> Update Check main menu item. Internet access is required to check for new versions. Variables are also available that can retrieve the latest version number and also check to see if a new version is available. · Start with Windows: If ticked, SyncBackPro will start after Windows is rebooted. It will start minimized. If you have profiles set to run periodically (not via a schedule), or to run whenever there are changes, it is recommended you use this option. · Change the tray icon if any profiles have failed: If ticked, and any profiles fail when run, then the icon shown in the system tray (taskbar corner) will change to indicate this. To reset the icon, e.g. you have reviewed the failed profile(s) and are aware of the problem, then right-click on the SyncBack tray icon and select Reset tray icon. The tray icon will show an orange cross if background backups are being stopped from starting (see option above) and a red cross if background backups can start. o Reset tray icon when the newest log of a failed profile is displayed: If ticked then the tray icon is automatically reset when the newest log of a profile (that has failed) is displayed. Viewing older logs, or logs of profiles that haven't failed on their last run, will not reset the tray icon. · Disable profile prompt notifications for ALL profiles: If enabled then profile prompts are never shown. This is a quick way to switch off the notifications if you find them distracting · Amount of time to pause after resuming from hibernation or sleep: If the computer is put into sleep or hibernate mode, then resumed, this is the number of seconds that SyncBackPro will pause (sleep) before it does anything. This gives Windows time to reestablish network connections etc. · Amount of time to delay before background profiles are started...: When SyncBackPro is started it will wait this amount of time before the first background profile is started. This gives you time to disable background tasks or to exit SyncBackPro before they start. · Highlight profiles that have not run successfully for...: If the value is above zero then any profiles that have not run successfully for that number of days will have a special icon placed next to their name in the main window. This lets you clearly see which profiles © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 98 are not running as expected. Note that disabled profiles are ignored and it does not apply to group profiles. Expert · Use the Windows Event Log: If ticked then errors are recorded in the Windows Event Log. These are not profile errors but errors related to using the program when the user cannot be prompted. They are typically used by technical support staff to help debug problems with the software. · Do not register COM objects: If ticked then SyncBack will not attempt to (re-)register any COM/ActiveX objects (DLL's). A number of COM/ActiveX objects are used which are initially registered during installation. However, other applications on your system may also use the same objects but different versions of them. For this reason SyncBack will re-register many of these COM objects whenever they are required. · Memory usage (higher memory usage increases performance): SyncBackPro can greatly reduce memory usage by storing some information in a temporary database on disk. This option lets you decide if you want to use more memory (which can improve performance) or less memory. It's recommended that you leave the setting to it's default. However, if you want to use less memory (e.g. because the system has limited memory) then you may want to change this setting. Note however that by using less memory profiles will be slower. Paradoxically, increasing memory usage can also cause profiles that have a large number of files (in the hundreds of thousands) to be slower (due to how data is inserted in memory). Also, there are other cases where memory usage can be reduced. For example, using a high level of file compression can dramatically increase memory usage. · COM Objects: A list of the required COM objects is shown along with their version number. If a COM object is not registered then the checkbox is not checked/ticked. Correctly registered COM objects are checked/ticked and also disabled. To register a COM object click on the item. Ransomware Detection SyncBackPro has the ability to check if a file has been changed. If your system is infected with ransomware then it will encrypt many of your files, e.g. documents, text files, pictures, music, videos, etc. It usually won't encrypt files required by the system, e.g. EXE and DLL files. In most cases you will know immediately if you are infected with ransomware because it will likely prompt you for payment to decrypt your files. However, your backups are usually automated so your backups will continue to run, which means your backup files are likely to be replaced with the encrypted files. To avoid this happening you can configure SyncBackPro to check if a specific file has changed, and if so, no profiles will run. To use this: 1. Click the Create button. SyncBackPro will then create a file, with random content, in your My Documents folder. The file will have a random filename, but have the extension of .RTF © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 99 SyncBackPro Help 2. SyncBackPro will then calculate the hash file of that file and record it. 3. Now, whenever a profile is run, SyncBackPro will check to see if that file has changed, and if so, will not run the profile. You can choose an existing file, if you wish, but you need to be sure that the file will not change. If you do change the files contents, click the Re-hash button to recalculate the hash value of the file. If you use an existing file it is recommended you copy a document or spreadsheet file that you already have and use the copy. By having an actual valid document it is more likely that it will be encrypted by ransomware. If you no longer want to detect if the file has changed, click the Clear button. Note that 2BrightSparks cannot guarantee that SyncBackPro will be able to detect all types of ransomware infection using this technique. Settings · Put new, imported, and copied profile settings files into...: This setting defines where to put the settings files for new profiles (existing profiles settings files are not moved). It is recommended that Automatic is used as this will store new profiles in the same folder as SyncBackPro when it is run from removable media or an external drive (connected via USB or Firewire), or the C:\Users\[username] \AppData\Local\2BrightSparks\SyncBack\ folder when not. If SyncBackPro is being run from removable media or an external drive (connected via USB or Firewire) then you will not be able to choose where to store profiles (they will always be stored in the same folder as the program). If you do not have write access to the folder SyncBackPro is being run from then you cannot choose that option. The roaming application directory is for people using corporate networks where files are typically stored on a server. You can also choose a specific folder to store your profiles and settings in. Optionally, you can specify that only that folder is used. An important point to remember is that if you change the folder then all the profiles in that folder become unavailable. You can also specify a settings folder to use via the command line. Settings Backup · Backup all profiles when the program exits (Unattended): This is the same setting as above except it applies only when exiting from an unattended run, e.g. run via a schedule. See the Profiles Backup section below for more details on making backups of your profiles. · Backup all profiles when the program exits (Attended): By default a backup is made of all the profiles when SyncBack exits, either attended (e.g. run manually from the Start © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 100 menu) or unattended (e.g. run automatically from a schedule). If this option is enabled, then a backup of all the profiles is made automatically when SyncBack exits from an attended run. Below the checkbox you can specify where to put the backup of the profiles. See the Profiles Backup section below for more details on making backups of your profiles. · Number of days backup to keep: By default SyncBack will delete backup profile files that are over 30 days old. You can change this or set it to keep the backups forever (by using 0 days). See the Profiles Backup section below for more details on making backups of your profiles. If you are using SyncBackPro or SyncBackSE then note that it is run elevated, meaning it will not have access to mapped drives. If you want to backup your settings to a network drive then you must use the UNC path and also make sure no username or password is required to access it. Alternative Settings Backup Options You can choose to have your profiles automatically backed up to another folder when the program exits. This backup can be done when run attended, e.g. it was run manually from the desktop or start menu, and/or unattended, e.g. it was run automatically from a schedule. If you have a large number of profiles then you may wish to only backup your profiles when exiting from an unattended run. When you close SyncBack, via the Exit button at the bottom-right of the main windows, there is a drop-down menu to tell SyncBack if it should backup the profiles or not, regardless of the settings. Another profile backup option is to use the export command line parameter. You could create a scheduled task in Windows to run SyncBack (with just the -export command line parameter) every morning, for example, to backup the profiles. You can manually create a backup of your profiles by simply exporting them. To restore your profiles you can simply import them. So as not to interfere with the Windows shutdown/restart/logoff process, profiles will never be automatically backed up if SyncBack is closing due to a Windows shutdown/restart/logoff. FTP This page contains settings related to how SyncBackPro communicates with FTP, FTPS, and SFTP servers. It is strongly recommended that you do not change any of these values and that the defaults are used. · File buffer size: This is the size, in bytes, of the buffer used to send and receive files. The default size is 262144 bytes, and the minimum size is 8192 bytes. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 101 SyncBackPro Help · Send buffer size: This value directly affects the TCP window size. If the value is set to 0 the default Windows value is used and setsockopt() is not called. The default SyncBackPro value is 131072 bytes. This setting is only used by SmartFTP (FTP and SFTP) and Eldos FTP (not Eldos SFTP). · Set the send buffer size automatically: When enabled the send buffer is automatically increased after the socket is connected until it reaches the optimal size. This option is enabled by default. This setting is only used by SmartFTP (FTP and SFTP) and Eldos FTP (not Eldos SFTP). · Receive buffer size: This value directly affects the TCP window size. If the value is set to 0 the default Windows value is used and setsockopt() is not called. The default SyncBackPro value is 131072 bytes This setting is only used by SmartFTP (FTP and SFTP) and Eldos FTP (not Eldos SFTP). · Set the receive buffer size automatically: When enabled the receive buffer is automatically increased after the socket is connected until it reaches the optimal size. This option is enabled by default. This setting is only used by SmartFTP (FTP and SFTP) and Eldos FTP (not Eldos SFTP). SysLog This page contains settings related to how SyncBackPro communicates with a SysLog server (as specified in RFC 3164). When certain tasks are performed, e.g. profiles run, a message will be sent to the SysLog server. · Send status messages to a SysLog server: If enabled, messages will be sent to a SysLog server. · SysLog hostname or IP address: The hostname or I.P. address of the SysLog server. To broadcast use the I.P. address 255.255.255.255 · SysLog port number: The port number of the SysLog server. The default is 514. · SysLog facility number (0 to 23): The facility number that SyncBackPro should use in messages sent to the SysLog server. The default is 16. Note that usually the numbers 0 to 15 are used for system messages. · Send date and time in GMT timezone: The dates & times of the messages can either be in the local timezone (of the computer running SyncBackPro) or in the GMT/UTC timezone. · Send messages in UTF8: Messages can either be in ASCII or UTF8. · Prefix messages with username: To help with tracking, the messages sent to the SysLog server can optionally be prefixed with the Windows username. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 102 · Send Test Message: Press to send a test message to the SysLog server. The format of the profile end message is: Profile [Profile_Name] Message [[Result=Result_Value Result_Description] [Error=Error_Message][Integrity Check | Simulated][Restore][Unattended] [Group=Group_Name][ProfileName]] The severity is Informational, except when the profile run fails and it is Error. Many of these are optional, e.g. if there is no error message then it will not be there. For the profile result, the numeric values are: 0 = No result 1 = Unknown profile 2 = Profile is already running 3 = Profile has been imported and not run yet 4 = Profile is running 5 = Internal error 6 = Simulated run was aborted 7 = Simulated run failed 8 = Simulated run was a success 9 = Restore was aborted 10 = Restore failed 11 = Restore was a success 12 = Run was aborted 13 = Run failed 14 = Run was a success 15 = Failed due to network connection 16 = Failed because left or right could not be scanned 17 = Failed because the left and right could not be compared 18 = Run failed because Run Before program stopped profile 19 = Run failed because profile is disabled 20 = Run failed because drive errors were found 21 = Run failed because the log could not be emailed 22 = Run failed because the Volume Shadow Copy service failed 23 = Profile was aborted because it reached its run-time limit 24 = Profile was aborted because too many files would be deleted 25 = Profile was aborted because too many files would be updated 27 = Integrity check run was aborted 28 = Integrity check run failed 29 = Integrity check run was a success 30 = Ransomware Protection 31 = Profile aborted remotely 32 = Profile was aborted because too many files would be copied Runtime Intelligence © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 103 SyncBackPro Help · Enable sending of anonymous usage data to help improve the software: If enabled, SyncBack will send anonymous usage data to help improve the software. Please read the Runtime Intelligence help page for more details. Encryption SyncBack stores passwords and other sensitive settings in an encrypted form. By default, a very simple encryption is used and it is relatively easy for someone to decrypt it (if they have access to your settings files). However, there are settings to make it considerably more difficult to decrypt: SyncBack uses the Windows encryption routines, which means that the following encryption options are only available if your installation of Windows allows for 256-bit AES encryption. It may not be available due to the import and/or export laws in your country. An important point to remember is that if you use any of these encryption settings then it limits what you can export and import. For example, if you use a key file then another computer will never be able to import any profiles you export unless they also have your key file. If you use the Windows Data Protection option then another computer (or even Windows user on your computer) will never be able to import any profiles you export. Also, if any of these settings are changed then SyncBack must re-encrypt all your encrypted settings (program settings and for all profiles). · Use 256-bit AES encryption for storing sensitive settings: If set, SyncBack will use 256-bit AES encryption. Although this is a much stronger method of encryption than the default one, it is not impossible for someone determined enough to decrypt these settings (if they have access to your settings files). This is because the key to the encryption is within SyncBack itself and is the same key for all installations of SyncBack. By using the same key it simplifies exporting and importing profiles. You also have no encryption or decryption key to lose (and so lose access to the encrypted settings). With the next setting you have the option of supplying your own encryption key. · Encryption key for sensitive stored settings: If set, SyncBack will use the encryption key stored in the specified file. You can create an encryption key file by clicking the Create Key File button (see below). Without this file it is impossible for someone to decrypt your settings. It also means that if you lose the file, its contents change, or you don't have access to the file (e.g. it's on a USB key and you forgot to plug it in), then SyncBack will not be able to decrypt your settings. It is recommended that you create the file on removable storage (e.g. a USB key) so that you can keep the file physically secure and also make a secure backup of the file. If you export a profile then you must remember that the computer that imports the profile will not be able to decrypt the settings without access to the key file. o Create Key File: When pressed you are prompted for a password. Enter a password (we recommend it contains at least 16 characters) then choose the file name to store © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 104 the encryption key in. The filename can be whatever you want, and have any filename extension, but it must have a filename extension, e.g. enc.key. The file should be stored somewhere secure that SyncBack can access whenever it is run. Note that the key file you create is not used unless you select it as the key file. · Store sensitive settings using the Windows Data Protection API: If set, SyncBack will use cryptographic routines in Windows to further encrypt the settings. This makes it impossible for someone to decrypt your settings, even if they have your settings files and the encryption key file, unless they are also logged into your Windows account on your computer. If you use this option you are strongly advised to create a Password Reset Disk whenever you change your Windows password. The reset disk must obviously be kept physically secure. If you export a profile then you must remember that the computer that imports the profile will not be able to decrypt the settings unless it is the same computer and same user account. If you reinstall Windows you will probably also lose access to the encrypted settings. If an administrator forcibly changes your Windows password you will also lose access to the encrypted settings (it's not a problem if you yourself change your Windows password). If you lose the key file, or you are using the Windows Data Protection API and import your exported profiles on another computer (for example), then your encrypted settings will essentially become corrupt and invalid. Your serial number is one such setting, which means you will be prompted for your serial number again. All passwords are also stored encrypted, so you will need to re-enter those. Double-click You can select what action SyncBackPro should take when you double-click on a profile in the main window: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 105 SyncBackPro Help Logging Settings This opens a window where you can change how profile log files are created. See this page of the help file for more details. Remote Control SyncBack Monitor allows the user to remotely monitor and control SyncBackPro/SyncBackSE instances running on computers on the same local network via an Android App. Please note that SyncBack Monitor will work only with SyncBackPro/SyncBackSE V9 (and newer) and does not support SyncBackFree. See the SyncBack Monitor page in this help file for more details. Variables © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 106 You can define global variables here that can be used by all of your profiles. You can also define profiles at the group and profile level. Drives When you go to this tab, all of your drives are listed along with their S.M.A.R.T. status. It also shows the model of the drive, the media type (e.g. Fixed) and the connection interface (e.g. SCSI). This information is reported by Windows. Note that you may be using NVMe drives that show as using a SCSI interface. This is normal and not something to be concerned about. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.12 Dialogs Many dialogs displayed by SyncBackPro have the Do not prompt me again checkbox: When ticked the dialog will not be displayed again and instead your answer will be used in future. Sometimes, however, you may want the dialog to be displayed again. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 107 SyncBackPro Help Dialog text shows which dialog boxes have been configured not to be displayed again. It shows the text of the dialog box along with the result that is used instead of showing the dialog box, e.g. OK. If you want the dialog box to be displayed simply untick the item. If you want all dialog boxes for a profile to be displayed press Ctrl-A (to select all items), right-click, and choose Untick selected from the pop-up menu. Profile: Some dialog boxes are profile specific, meaning whether they are displayed or not depends on the profile being run. This list-box lists all the profiles and *Program*, which is for dialog boxes that are not for profiles but for the program itself. When the selection is changed the items in Dialog text is changed. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.13 Comparison Programs When the Differences window is displayed, which lists which files are going to be copied, deleted, moved, etc., then you have the chance to compare two files. For example, you may have changed the same Word document in both the source/left and destination/right. In this case you may want to visually compare the actual Word documents to decide what action you want SyncBack to take. The External file comparison tools window lets you tell SyncBack which external programs to use to visually compare files of various types. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 108 · Name: This is the unique name to give to the entry. You can use whatever name you wish, e.g. Compare Word Documents · Description: An optional description of the program, e.g. Compares word documents · Program: This is the filename of the program that will be used to compare the two files. You must enter a complete path and filename. Note that Windows environment variables can be used, e.g. %ProgramFiles%\WinMerge\WinMergeU.exe. If the program does not exist then the text will be highlighted in red. · Parameters: These are the command line parameters that are used with the comparison program. Check the documentation of the comparison program to see what parameters can be used and how they are used. There are two special strings that you must use in the parameters: %1 is used to represent the filename of the source/left file, and %2 is for the destination/right filename. SyncBack will automatically replace these two parameters with the correct filenames. Note that you will probably need to wrap the %1 and %2 strings with double-quotes, e.g. left "%1" right "%2", as Windows treats a space character as a break between parameters. · File types that can be compared: A comma-delimited list of file types that the comparison program can compare. Do not use the initial period of the filename extension, e.g. use txt,c,h and not .txt,.c,.h All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 109 SyncBackPro Help 3.1.14 Logging Settings By default the log file, produced when a profile is run, is created in HTML format. You can change the log file format, or choose not to create a log file at all. · Store all my log files in the following folder: This is the folder SyncBackPro will store the log files created after every profile run. You can use environment variables, e.g. % APPDATA% · Append to existing log file (Text Format only): If a text log file is being used, then you can optionally have all log reports in one log file. When a profile is run the log is appended to the existing log file. There is no maximum log file size (with the limiting factor being the file-system used and disk space). · Use the following filename for my log files: This is the filename of the log files SyncBackPro created. Windows environment variables and SyncBackPro variables can be used here, including a special variable called %PAGE% which is replace with the page number of the log file. Note that this setting is just the filename, not the path. The Store all my log files in the following folder setting is for the path. · Keep a history of...: SyncBack can be configured to keep a certain number of log files, e.g. the log files of the last 3 profile runs. This is a program wide setting, meaning all profiles will keep this number of log files. However, it is possible to override this value at a profile level. · Delete All Log Files: Click this button to delete all your log files. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 110 Text Log Files Format Text format log files are mainly for use by other programs. HTML log files are for people to use. The text log file is a comma-delimited list of lines with all line elements (columns) wrapped in double-quotes: "Date & time","Is A Control Message?","Filename/Control Message","Status","File Status","Error Type" Date & time Date & time line was written to the log file Is A Control 1 if this is a control message. If so the [Filename] is actually an informational Message? message. For a value of zero, it really is a filename. Filename/C Either a filename or a control message ontrol Message Status e.g. Not in destination, source copied File Status Integer value for file status: 0 = Not relevant to current line, i.e. ignore the file status © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 111 SyncBackPro Help 1 = File was skipped & was in both 2 = File was skipped & was in source/left only 3 = File was skipped & was in destination/right only 4 = File was deleted 5 = File was copied 6 = File attributes and/or date & time changed 7 = File warning 8 = Error 9 = File was copied, but a reboot is required 10 = File was ignored during scan of source, e.g. filtered out 11 = File was ignored during scan of destination, e.g. not selected 12 = File was ignored during comparison, e.g. read-only 13 = File was unchanged (fast backup only) 14 = An exception report 15 = A version was restored 16 = The file was in neither the source nor destination 17 = File was renamed 18 = File was renamed, but a reboot is required 19 = File failed integrity check because hashes don't match (new to version 8) 20 = File passed integrity check (new to version 8) 21 = File failed integrity check because of an error (new to version 8) Error Type The end of the line will have a letter if the line refers to an error or warning: W for warning messages E for error messages X for exceptions (SyncBackPro caused an exception error) O for no error All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.15 Windows Shell Extension SyncBackPro ( Pro version only) is integrated with the Windows File Explorer shell so that you can select a folder (or drive) and use it with an existing profile. For example, you could right-click on a folder in Windows File Explorer (not to be confused with Internet Explorer) and have SyncBackPro run the profile with the selected folder as the source or destination. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 112 · Description: This is the text of the menu item that appears in Windows File Explorer. For example, Backup to my FTP server. · Profile Name: The profile to use. Note that you can select a group but keep in mind that the folder selected will be used with all the profiles in the group. That may not be appropriate or desired. · The selected file/folder is the...: This setting specifies how SyncBackPro should use the selection you have made in Windows File Explorer. For example, if you have an FTP profile and want to backup folders to it, then you probably want to specify that the selected folder is the source. You can also have SyncBackPro prompt for one of the paths. · Run unattended, i.e. no prompting: If this checkbox is selected then the profile will be run without any prompting. You cannot use this option if you've specified you want to be prompted for the path. · Do not use the file and folder selections: If this checkbox is selected then SyncBackPro will run the profile without using the file and folder selections. It is advisable that you enable this option. For more details see the Restoring and Selections section. · Do not use the filters: If this checkbox is selected then SyncBackPro will run the profile without using the filters. It is advisable that you enable this option. For more details see the Restoring and Selections section. The order of the menu items can be re-arranged by using the up/down arrow buttons on the left. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 113 SyncBackPro Help Installation The Windows File Explorer shell extension is not installed (or updated) unless this window is displayed. If the shell extension cannot be installed or updated then an error message will appear once this windows opens. Also, if the shell extension has been updated, e.g. a new version of SyncBackPro was installed with a newer shell extension, then you may be prompted with the message A reboot is required to replace in-use files. If so, you must reboot Windows to update the shell extension. The reason a reboot is required is that Windows is using the shell extension DLL and so the DLL file cannot be replaced. The only way to replace it is to reboot Windows, at which point Windows itself will replace the old DLL with the new DLL. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.16 Linked Cloud Accounts Many cloud services (storage, email, etc) require authentication before they can be used by an application such as SyncBackPro. The authentication process then creates a special token which is used by the application to connect to your cloud service. SyncBackPro doesn't store or use your cloud username and password, but instead stores and uses that token. You can revoke a token to stop an application from connecting to your cloud service. You only need to perform this authentication process once for each application. The Linked Cloud Accounts feature in SyncBackPro is designed to make it easy to manage this cloud authentication and make sure all your profiles use the same token. Sometimes these tokens change, and by using this feature you can ensure that your profiles don't stop working when this happens. Linked Cloud Accounts can be used with shared settings, and when they are, the linked cloud account takes precedence over the shared settings. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 114 Using a linked cloud account is very simple: · Select Linked Cloud Accounts from the burger menu · If a cloud service has not yet been authorized then it will have Not Authorized next to it. · Click Not Authorized for the service you want SyncBackPro to be able to use. · Go through the authorization process (what this is depends on the cloud service). In your profile(s) you can now use that cloud service. For example, if your are using Box, and you've linked your account, then modify your profile, go to Cloud and click the Use my account button. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 115 SyncBackPro Help Using linked accounts is also a good way to create profiles that can be shared. If you import a profile that uses linked accounts then you will use your own linked account and not the linked account from the person who exported it. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.17 Queue SyncBack can run profiles in parallel, i.e. you can have more than one profile running at the same time. This is the default behaviour. When you run a profile it is run immediately without waiting for any currently running profiles to complete. You can also create groups to run profiles serially, i.e. you can create a group profile to run a profile and wait for it to finish before running the next profile in the group. However, sometimes you may want to run a profile only when no other profiles are running. This may be because of resource constraints, e.g. low memory, low bandwidth, etc., or simply that you want a currently running profile to complete before starting a new one. To achieve this SyncBack has a queue. Profiles in the queue are only run when no other profiles are running and profiles in the queue are run in a first-in-first-out (FIFO) order. For example, if you add profile A then profile B then profile C to the queue then SyncBack will run them in the order they were added (A, B, then C). You can add a profile multiple times to the queue and remove a profile from the queue but you cannot change the order of the profiles in the queue. Remember that you can create a group profile if you want finer control over the order of profiles. The queue is a simple ad-hoc way to allow profiles to be run serially. To add a profile to the queue simply select it in the main window and press Ctrl-Q. Alternatively you can select Queue -> Queue profile from the pop-up menu or Queue profile from the drop-down menu on the Run button. This will add the selected profile(s) to the queue and run them attended, i.e. you will be prompted if required. If you want them to run unattended, i.e. no prompting, then choose Queue profile (run unattended) from the menu. You can see which profiles are in the queue by looking at the Stop column in the main window. If a profile is in the queue an icon will be shown in that column for the profile. You can click this icon to remove the profile from the queue. Note that there is no way to review or change the order the profiles in the queue will run in. Remember that if you want more control over the order it is recommended that a group profile be used instead. You can remove a profile from the queue by selecting it in the main window and selecting Queue -> Remove profile from queue from the pop-up menu or Remove profile from queue from the drop-down menu on the Run button. You can also click on the queue icon shown in the Stop column in the main window. Note that it will remove all instances of the selected profile(s) from the queue (remember you can add the same profile to the queue more than once). For example, if the queue has profiles A, B, C, B, A in it and you remove profile B then the queue will become A, C, A. You can also remove all profiles from the queue. To do that select Queue -> Clear queue from the pop-up menu or Clear queue from the Run button. This will clear the queue but not © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 116 stop any profile that is currently running and was taken from the queue. If you want to stop all the running profiles, and clear the queue, press Ctrl-Alt-S, or select Stop all profiles from the drop-down menu on the Stop button, or right-click on the SyncBack tray icon and select Stop all profiles from the pop-up menu. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.18 Shared Settings Each profile has its own settings, e.g. what the source/left directory is. However, in some cases you may want to share settings between several profiles. For example, you'll probably have the profiles log files emailed to the same email account. Instead of setting the email connection details for each profile it would be simpler to just set it once and then have those profiles use that one set of settings. That way, if the email login password changes (for example) then you only need to change it in one place instead of in each profile. You can share the settings on the following profile settings pages: · Auto-close · Backup of email · Cloud · Emailing the log · FTP · Network · Variables (both for group and non-group profiles) · When, Program · Zip filter Creating New Shared Settings To create new shared settings simply click the share icon in the top-left of the window the click the New menu item. Alternatively, if you're using the Windows10 or Windows10 Dark style, click the New button (in the Shared Settings menu in the window caption bar). Next, enter a unique name you wish to use for the shared settings, e.g. My FTP Server. Note that if you've made changes to the settings on the current settings page then they will be lost unless you apply (save) them first. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 117 SyncBackPro Help Copying Shared Settings To copy existing shared settings simply create some new shared settings. The existing settings will be copied to the new shared settings. Deleting Shared Settings To delete existing shared settings select Delete from the share icon menu, or click the Delete button (in the Shared Settings menu in the window caption bar, if you are using the Windows10 or Windows10 Dark style) and choose the settings to delete. Note that you cannot delete shared settings that are being used, or shared settings that are set to be the default values. Renaming Shared Settings To rename existing shared settings select Rename from the share icon menu (in the Shared Settings menu in the window caption bar, if you are using the Windows10 or Windows10 Dark style) and enter the new name to use. Shared settings names must be unique, and also © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 118 cannot use the name None. Renaming shared settings does not affect which profiles are using the shared settings. Managing Shared Settings To see a list of all the shared settings, and which profiles are using them, select Shared Settings from main burger menu . Security Shared settings are not password protected, but profiles can be. You should be aware that if you have a password protected profile that is using shared settings, and another profile that is not password protected and using the same shared settings, then a user could change those shared settings via the unprotected profile. Importing An exported (or backed-up) copy of a profile will include a copy of any Shared Settings the profile is configured to use. If you re-Import such a profile, it will also import any Shared Settings configuration data as of the date of the Export. If you have made any edits to those particular Shared Settings in the meantime, those recent edits will be lost (overwritten) by the older set stored in the copy profile you just Imported. This is an inevitable consequence of storing those details on Export (but if those details were not stored, then an Import into a new system would be trying to reference Shared Settings that the backup copy does not include). Cloud and FTP © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 119 SyncBackPro Help If you are using cloud services like Dropbox, Box, etc. then you should use linked cloud accounts. If you are using cloud services that require a username and password, e.g. Amazon S3, or FTP, then it's highly recommended that shared settings are used. For FTP, email, and cloud services that use a username and password, it makes sense to use shared settings simply because passwords change, and if you are using shared settings then if you change your login password then you only need to update it for one of your profiles and it will be updated in all of them (that use the same shared setting). For cloud it is especially important to use linked cloud accounts because of the way the security systems work. With cloud services you usually don't connect using a username and password. You need to login to your cloud account (using a browser) and then give permission to the application (like SyncBackPro) to use the cloud service. This means the application does not have your cloud username and password but instead gets a special token. The application uses this token to access your cloud files. This token can be revoked by you so stopping that application from accessing your cloud account. These tokens can also expire and need to be refreshed by the application periodically. Because of this using linked cloud accounts for cloud profiles ensures that all your profiles (using the same cloud account) will share that same token. When that token is refreshed then all the profiles will use that new token. With some cloud services, e.g. Box, this is critically important because each application is only allowed one token. So if you have two Box profiles, and are not using a linked account, then if one of the profiles has to refresh the token then it will have a valid token while the other profile will now be using an old and now invalid token. When that profile runs it will need to authorize itself again, which now stops the other profile from working. However, if both profiles are using the same linked account then they'll always be using the correct token. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.19 Profile Progress The progress details appear when a profile is running and provides visual feedback of the progress of that profile to the user: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 120 A progress bar also appears behind a profiles name in the main window, and if you are running Windows 7 or newer, in the Windows taskbar itself. Note that the progress bar behind a profiles name isn't visible if the profile is highlighted or the Progress column is enabled. If a profile is being run in another instance of SyncBackPro, e.g. run via a scheduled task, then it's name will be in italics. If you don't want the progress to be displayed, switch off the option Slide out automatically. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.1.20 Exploring SyncBackPro Now you've gained the essential knowledge of using SyncBackPro, we'll turn to taking advantage of some of the options available in the program. SyncBackPro has two Modes that allow you to change the settings for any given profile: Easy Mode and Expert Mode. SyncBackPro is a very flexible program. As you gain confidence in using the program you'll discover the power and ease that backing up and synchronizing can bring to your daily work at the computer. The default settings in SyncBackPro are defined to help you manage your data backup tasks in a simple straightforward manner. Remember at all times that SyncBackPro copies, moves, and deletes data. Please ensure that you test your settings before running them. You can achieve this easily by using the Simulated Run or Simulated Restore commands available from the dropdown menu on the Run and Restore buttons or the context (pop-up) menu for a profile: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 121 SyncBackPro Help © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 122 The next section of this help file presents the settings and options available to you in Easy Mode. 3.2 All Content: 2BrightSparks Pte Ltd © 2003-2021 Easy Mode SyncBackPro provides two modes to view and change your Profiles: Easy and Expert. Easy mode presents far fewer options to modify your Profile making the choices you make less complex than in Expert mode. The Easy and Expert Mode options can be found in the burger menu at the top left of the Profile Setup Windows (select a Profile, then click the Modify button at the base of the main SyncBackPro window). You can also click the Easy or Expert items in the list. What items are listed depends on the profile being modified. For example, if the profile is for copying files from an FTP server, then options for the cloud (for example), will not be listed. The following screenshots show the option menus: Easy Options Expert Options © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 123 SyncBackPro Help © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 124 Easy Mode Easy Mode Configuration Burger Menu options Simple Sub-directories and Files Network Scripts Fast Backup Type When Notify Searching the settings 3.2.1 All Content: 2BrightSparks Pte Ltd © 2003-2021 Easy Mode Configuration After a profile has been created in SyncBackPro you may modify the settings for that profile at any time. If you haven't already defined a profile view Creating a Profile which will guide you through this simple process. Easy Mode Overview SyncBackPro has two Modes that will allow you to change the settings for any given profile: Easy Mode and Expert Mode. Note that these modes affect a single profile and not all profiles. To find out how Group Profiles may be modified go to Creating a Group Profile. This help page details the options available in the Easy Mode. To modify a profile use the Modify button on the main windows toolbar. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 125 SyncBackPro Help The Easy Mode Profile Setup window is shown below with the default Simple settings page: Note how the text in the white informational area helps you decide what option best suits your requirements by summarizing your profile in a list. Spend time getting to know what options are available under the additional tabs in the Profile Setup window. The Simple, Network, Fast Backup, Type, When, Notify and Search options on the left hand list contain a range of options that provide a great deal of flexibility in the way you can perform tasks: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 126 3.2.2 All Content: 2BrightSparks Pte Ltd © 2003-2021 Burger Menu options At the top-left of the Profile Setup window is a burger menu button . When pressed some options appear: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 127 SyncBackPro Help · Easy: When selected the window goes into easy mode. In easy mode a number of settings pages are hidden. · Expert: When select the window goes into expert mode. In expert mode all valid settings pages are made available. · Export profile: If clicked then the profile being edited is exported to a file. · Save as defaults: If clicked then the settings for the current page as saved as defaults. This means whenever a new profile is created then those settings will be used in the new profile. Note that this is a page specific setting, meaning it does not save the whole profile as the default, just the settings on the current page. It cannot be used on some settings pages. · Load defaults: If clicked then the current pages settings are replaced by the default settings for this page. This is a page specific setting. It cannot be used on some settings pages. · Copy settings from another profile: If clicked then the settings for the current page can be replaced with the settings from another profile. Note that this is a page specific setting, meaning it does not copy all the settings from another profile, just the settings for the current page. · Revert to factory settings: If clicked then the current pages settings are replaced by the factory default settings. Note that these are not the same as the default settings (which can be changed by using the Save as default menu item). This is a page specific setting. 3.2.3 All Content: 2BrightSparks Pte Ltd © 2003-2021 Simple This page gives you an overview of what the profile is configured to do. It also lets you change where files are copied to and from, which files and folders are copied, and what name you want to give to the places where files are copied to and from. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 128 Names are given to the places (locations) you are copying files to and from. For a synchronization profile, it is Left and Right. For other profile types, e.g. backup, it is Source and Destination, as it is in the above example screenshot. You are free to change those names to something else. To do this, simply click on the label, e.g. Source, or click on the pen icon next to the name, and change it to whatever you want. For example, you may be doing a backup from your desktop to an external hard drive. Instead of using the labels Source and Destination you may instead want them to be called Desktop and External Drive: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 129 SyncBackPro Help The down arrow, to the left of the paths, can be used to change the source/left or destination/right paths to something that is more flexible and/or portable. For example, if the destination is a removable drive then you can have it changed so that the serial number of the drive is used instead of the drive letter. This means if you connect the drive, and it gets a different drive letter assigned to it by Windows, then the profile will still work as expected. Alternatives may also be given if part of the path can be substituted with Windows variables. A tick will appear next to the path that SyncBackPro suggests you use: By default all your files and folders in the chosen folders are copied (with the exception of things like the swap file). However, if you'd like to not copy some specific folders or files, or choose which types of files not to copy (e.g. temporary files), then you can click the Choose sub-directories and files button to make those selections. Read more about choosing subdirectories in the Sub-directories and files section of this help file. To filter out files and folders based on their name, e.g. you may not want to copy any .exe files, then click the Change Filter button. Read more about the filters in the Filter Settings section of this help file. 3.2.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 Sub-directories and Files To select exactly which folders and files you want to include in your profile, click the Choose sub-directories and files button on the Simple page. By default all files and sub-folders (with the exception of some folders and files you wouldn't want to copy, e.g. your swap file) are included. SyncBackPro always takes the approach that it is better to include files than to exclude them. The files & folders listed will not include the destination/right files or folders unless it needs to. Deciding on whether it needs to or not depends on the type of profile and the file decisions you've selected. For example, if you're doing a backup to an FTP server then the files and folders on the FTP server won't be shown. However, if you're © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 130 synchronizing or copying from an FTP server then it will show its files and folders in the tree. If you want to force the tree to display files and folders in both the source/left and destination/right then use the drop-down menu on the Choose sub-directories and files button. The tree displayed is similar to the one used in Windows File Explorer. You can collapse and expand the folders to see the files and folders within. A folder or file with a tick next to it is included in the profile. Icons When all the files and child folders in a folder are included in the profile, the color of the folders will be solid . If any files or child folders are not included, then the folder will be half solid . Note that in some cases it is not known if all files and child folders are included until the folder has been fully expanded. If the file or folder is ticked then the icons will be ghosted if the file or folder does not exist . This lets you easily see if a file or folders exists in the source/left and/or destination/right. New Files and Folders © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 131 SyncBackPro Help There are two columns that configure what to do with new files or folders: New Files and New Folders. These options let you decide on whether the profile should include any new files or folders that are created within that folder. By default all new files & folders are included. If a folder is not ticked then no files or folders will be included in the profile. These options are not available until you expand the folder. This is because SyncBackPro cannot know what files and folders are new until a folder is expanded revealing what the current contents of the folder is. You can also choose these options via the pop-up menu. As an example: you may have a folder in which you only want two specific files included and no other files or folders. You would tick those two files and untick all the other files and subfolders. Then you would change the folder settings to ignore new files and folders. This way even if a new file is created in that folder it will be ignored, and so will any new sub-folders. Menu At the top-left of the window is the a burger menu . When click it expands the menu on the left. If you click on the settings button then another set of options appears on the right: · Settings o Do not use selections (can improve performance): If this checkbox is ticked then file & folder selections are ignored. This can reduce a profiles run time, sometimes © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 132 dramatically. To further improve performance you may also want to disable the filters. You can also switch off the selections using the -noselect command line parameter. o Show files: This allows you to show or hide files in the tree. o Show files and folders...: These options let you show or hide files and folders depending on whether they exist in the source/left or destination/right. If your profile is synchronizing files then the file icons also inform you if a file exists in the source/left and/or destination/right. o Show files and folders that do not exist: You may have previously selected a file and/or folder to include in your backup. However, that file or folder may no longer exist, e.g. it has been deleted. In this case it will still appear in the tree but will be highlighted in red. If this option is unticked then those non-existent files and folders will be hidden. You can permanently remove them by clicking the Clean up button or ticking the Clean up automatically option. o Clean up automatically: Files or folders that do not exist will be automatically removed from the tree. You can manually remove them by clicking the Clean up button. o Do not display file icons: To improve performance on slower computers you can choose to not have file icons displayed. · Burger Menu o Settings: Brings out the options above on the right of the window. o Export Selections: If you want to use the same file & folder selection settings with another profile you can export them and then import them in the other profile. Selections related to deleting folders are not exported. There are three different export formats that have different advantages and disadvantages: · .sbsel: This is the default format. It can be imported but is in a special format that is not viewable. All items are exported. · .txt:This format cannot be imported but can be viewed in a text editor, for example. Only the filenames of the checked items are exported. · .csv: This format cannot be imported but can be viewed in a spreadsheet, text editor, etc. The filename (wrapped in double-quotes) and inclusion status (Y or N) of new files and folders is exported (for the checked items). o Import Selections: Import previously exported file & folder selections, replacing the existing selections. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 133 SyncBackPro Help o Ignore all new files and folders: All expanded folders will be set to ignore any new files and folders created in them. o Include all new files and folders: All expanded folders will be set to include any new files and folders created in them. o Change Filter: Clicking this button displays the filter window. This lets you choose which types of files to include or exclude, and also choose which folders to include or exclude based on their name. See the Filter Settings section for more information. o Clean Up: Files or folders that do not exist will be removed from the tree if this button is clicked. Files and folders that do not exist are highlighted in red. Pop-up menu If you right-click on the tree then a pop-up menu appears with a number of options. These options apply to the selections you have made in the tree: · Tick selected: All the items selected in the tree will be ticked. · Untick selected: All the items selected in the tree will be unticked. · Delete from destination/source: The selected folders will be deleted from the destination (or source) when the profile is next run. You can only choose to delete entire folders (not individual files) and only from unticked folders. IMPORTANT: Any versions will also be deleted. · Do not delete: The selected folders will not be deleted on the next profile run. · Collapse all: All the folders in the tree will be collapsed. · Collapse selected: All the selected folders in the tree will be collapsed. · Exclude folders with this name: Folders with the same name as the ones you've selected in the tree will be added to the filters (folders not to copy) list. · Exclude files with this name: Files with the same filename as the ones you've selected in the tree will be added to the filters (files not to copy) list. · Exclude files with this extension: Files with the same filename extension as the ones you've selected in the tree will be added to the filters (files not to copy) list. · Include folders with this name: Folders with the same name as the ones you've selected in the tree will be added to the filters (folders to copy) list. · Include files with this name: Files with the same filename as the ones you've selected in the tree will be added to the filters (files to copy) list. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 134 · Include files with this extension: Files with the same filename extension as the ones you've selected in the tree will be added to the filters (files to copy) list. · Ignore new files: Any new files created in the selected folders will be ignored. · Ignore new files (inc.all sub-folders): Any new files created in the selected folders (and all their child folders) will be ignored. · Include new files: Any new files created in the selected folders will be included in the profile · Include new files (inc.all sub-folders): Any new files created in the selected folders (and all their child folders) will be included in the profile · Ignore new folders: Any new sub-folders created in the selected folders will be ignored. · Ignore new folders (inc.all sub-folders): Any new sub-folders created in the selected folders (and all their child folders) will be ignored. · Include new folders: Any new sub-folders created in the selected folders will be included in the profile. · Include new folders (inc.all sub-folders): Any new sub-folders created in the selected folders (and all their child folders) will be included in the profile. · Add file: Add one or more files to the selected folder (or the parent folder of the selected file). To add multiple files separate them with a forward slash (/), e.g. file 1.txt/file 2.txt/file 3.txt. This menu item is hidden if the automatic clean-up checkbox is ticked. It is also hidden if a file or folder has not been selected (or multiple selections have been made). Why would you want to add a non-existent file? The file may not currently exist, but you know that it will in future. Note that as the file does not currently exist, if you click the Clean Up button then it will be removed from the tree. · Add folder: Add one or more sub-folders to the selected folder (or to the parent folder of the selected file). To add multiple folders separate them with a forward slash (/), e.g. folder 1/folder 2/folder 3. This menu item is hidden if the automatic clean-up checkbox is ticked. It is also hidden if a file or folder has not been selected (or multiple selections have been made). Why would you want to add a non-existent folder? The folder may not currently exist, but you know that it will in future. Note that as the folder does not currently exist, if you click the Clean Up button then it will be removed from the tree. · Open folder: The selected folder will be opened using Windows File Explorer. You can select multiple items in the tree by clicking the mouse and using the Shift and Ctrl keys. To fully expand a folder, press the asterisk (*) key. Warning: this could take a very long time if the folder is on a remote system or contains a large number of files and folders. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 135 SyncBackPro Help Junction/Reparse Points Junction/Reparse Point directories are hidden if you have enabled the option to ignore them (which is the default). If you change that setting then you should revisit your selections and change as necessary. Below is an example of why you should do this: · You switch off the option to ignore Junction/Reparse points, so they will be scanned. They are not being ignored. · You choose sub-directories and files and select a junction/reparse point folder and files and sub-directories in the junction/reparse point folder. In this example, let's say it is C: \JunctionPoint\. It has a file in it called example.txt (C:\JunctionPoint\example.txt). It also has a sub-directory (C:\JunctionPoint\SubDir\) and a file in that sub-directory (C: \JunctionPoint\SubDir\SubFile.txt). · You save the profile and run it. · Later, you modify your profile and now choose to ignore Junction/Reparse Points, so they will not be scanned. They are now being ignored. · Now, when you run the profile there will be issues. The folder C:\JunctionPoint\ will not be scanned, because it is a junction/reparse point. All the files in it (e.g. C: \JunctionPoint\example.txt) will also be ignored. However, the sub-directory (C: \JunctionPoint\SubDir\), and everything in that sub-directory, will not be ignored. This is because they have been explicitly selected and the sub-directory itself is not a junction/reparse point, so it will not be ignored. All the files in the folder C:\JunctionPoint\ will be ignored because the directory is being ignored. Also, any sub-directories in it that have not been explicitly selected are also ignored. Any sub-directories in C:\JunctionPoint\ that have been explicitly selected will not be ignored (unless they are also junction/reparse points). · Because of this, if you change the option to ignore Junction/Reparse points you should update your file & folder selections. 3.2.5 All Content: 2BrightSparks Pte Ltd © 2003-2021 Network If your source/left and/or destination/right directory are on a network, and you are using a UNC path, e.g. \\machine\share\directory, then this page allows you to set the username and password required to connect to the network shares. You can only edit the values if you are using a UNC path or if the path contains variables (because it is impossible to know if it will be a UNC path or not until the profile is actually run). This profile settings page can use and create shared settings. · Username: Your network username for the source/left or destination/right (as appropriate). If none is specified then SyncBackPro will use the default username (which is your current Windows username). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 136 · Password: Your network password for the source/left or destination/right (as appropriate). If none is specified then SyncBackPro will use the current default password associated with the username given above. · Test Connection: Click this button to test if SyncBackPro can connect to the source/left and/or destination/right using the supplied username and password. This button is disabled if the path is not a UNC path (if variables are being used in the path then keep in mind that variables can change value and so the currently expanded variables may not make the path a UNC path). If you use the Network settings in SyncBackPro take account of the following Windows issues: · To use a network for the source/left or destination/right you must specify a valid UNC path, e.g. \\Machine Name\ShareName\Folder\ · Your current username and password are used before the supplied username and password (unless the option Use this username and password before trying my current username and password is ticked). · The username may need to be in the form Domain\Username or MachineName\Username for it to work correctly. · If the destination computer is configured to use simple file sharing (the default on Windows XP) then it may connect even if an invalid username and password is used. Note that it may also connect even if an invalid username and password is used because Windows caches connection information and so may use valid cached credentials instead. · Windows networking has many quirks and problems. Please experiment with various settings before seeking help. 3.2.6 All Content: 2BrightSparks Pte Ltd © 2003-2021 Scripts Using this window you can specify which Runtime scripts will be used with the profile, and also if the destination/right files are managed by a location script. You must first install the script. · Destination/right files are managed by the following script: If the destination/right should be managed by a location script then tick this checkbox and then select the location script. · Scripts that should be used when this profile is run (and in the order specified): Tick the runtime scripts you wish to use when the profile is run. You can define the sort order by clicking on a script then using the up and down buttons to move it. The order in which the scripts are set to run is important. This is because, in some cases, only one script can perform an action. For example, if you have a runtime script that renames a file then obviously a file can only be renamed once. This means the first © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 137 SyncBackPro Help script to rename a file is the one that will rename it. Any following scripts cannot rename the file. 3.2.7 All Content: 2BrightSparks Pte Ltd © 2003-2021 Fast Backup SyncBack can make backing up even faster if you choose the Fast Backup option. Read this help page carefully before you continue as there are some important considerations to make when choosing this option. You'll also find some Frequently Asked Questions about Fast Backup below along with some examples. The Fast Backup option is displayed when you create or modify a profile and select the option from the tree: Some of the descriptions below refer to "Fast Backup data". This is data that is kept by SyncBack to keep track of what has changed between each profile run. It is used internally by SyncBack. · Fast Backup: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 138 o Do not perform a fast backup: Enable this option to perform a standard backup, i.e. the source and destination will be scanned and compared to decide which files must be copied. o Perform a fast backup: Enable this option to greatly improve the performance of a backup profile by not scanning the destination. Note that this option is only available when a profile is configured in a certain way (i.e. the source is not being changed by the settings). For more information, including side effects of fast backups, please see the section below. o Perform a fast backup using the archive attribute: Enable this option to greatly improve the performance of a backup profile by not scanning the destination. This option is different from the one above because it uses the traditional backup method of using the archive attribute of a file to decide if a file should be copied or not. Note that this option is only available when a profile is configured in a certain way. For more information, including side effects of fast backups, please see the section below. o Perform a fast backup of emails: Enable this option to greatly improve the performance of the backup of emails. Note that this option is only available when a profile is configured to backup emails and the email server is IMAP4 or Microsoft Exchange. It is not available with POP3. For more information, including side effects of fast backups, please see the section below. · Keep fast backup data based on the actual destination directory (each destination has a full backup): If this option is unticked then a fast backup works much the same as an incremental backup. This means that only new or modified files are copied from the source to the destination regardless of where the destination is. If you are not using variables, e.g. %DAYOFWEEK%, in the destination then you can leave this option unticked as it will make no difference. This option is not available when using a Fast Backup with the archive attribute or backup of emails. If you are using variables in the destination then you should consider ticking this option. If this option is ticked then the fast backup works in a different way. It keeps track of which files and folders are in each destination. This means each destination directory will have a complete backup and not just contain the new/changed files. · Differential backup (do not update the fast backup data): If this option is ticked then a fast backup works the same as a differential backup. This means that only new or modified files since the last full backup are copied from the source to the destination. If you are not using variables, e.g. %DAYOFWEEK%, in the destination then you can leave this option unticked as it will make no difference. For example, if your destination is X:\%DAYOFWEEK %\, and you force a rescan on Mondays, then your Monday backup will be a full backup. Your Tuesday backup will contain new and changed files since Monday, Wednesday's backup will contain new and changed files since Monday, etc. If the Fast Backup is using the archive attribute then the archive bit is not cleared on the original file when it is copied unless it is a full/rescan backup. This option is not available when using a Fast Backup of emails. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 139 SyncBackPro Help · Delete all the files and folders in the destination before the backup (only if it is not a rescan): If this option is ticked then all the files and folders (just the Zip file if compressing to one single Zip file) in the destination are deleted before the backup is made. The files and folders are not deleted if a re-scan has been forced or is required. This option is best used when Keep fast backup data based on the actual destination directory is unticked. For example, if you keep 7 days worth of backups (using the % DAYOFWEEK% variable in the destination), and force a rescan each Monday, then by enabling this option you'll ensure that the Monday backup contains a complete backup and that the backups for all the other days just contain new/changed files since the previous day. This option is not available when using a Fast Backup of emails. Note that with this option enabled it is not advisable to run incremental/differential backups more than once when SyncBack is backing up to the same folder. Considering the above example: if you run incremental backup on Tuesday morning then all the new/changed files since Monday will be copied to Tuesday folder. Again, if you run incremental backup on Tuesday afternoon then, all the existing files/folders (those files/folders copied in the last run) in the Tuesday folder will be deleted (as 'Delete all files and folders..' option is enabled) and only the new/changed files from the last run until now will be copied to the Tuesday folder. Hence, the Tuesday folder will not be a complete incremental backup from Monday as some of the files/folders were deleted from the incremental backup folder during the second run. · Use a different folder for full (rescan) backups: If this option is ticked then you can define which folder should be used for full backups, i.e. where to backup to if there is a rescan. This can be very useful when you always want full backups to go into one folder, and incremental/differential backups to go into the usual destination folder. If you tick this option then SyncBack will automatically set the full folder to your destination folder. However, it is unlikely this is the folder that you wish to use so you should modify it as appropriate. For example, if your destination is X:\%DAYOFWEEK%\, and you have it set to rescan on Monday, then you probably want your full backup folder set to X:\1\. This means the full backups will always go into the Monday (1) folder even if you force a rescan on a Friday, for example. This option is not available when using a Fast Backup of emails. · Force re-scan: Click this button to force SyncBack to scan the destination/email server next time the profile is run. Please read the notes below about the consequences of forcing a rescan when using FTP. If the button is disabled it is either because the profile is not a Fast Backup profile or SyncBack will already be performing a rescan on the next profile run, e.g. the button has already been pressed. If you want to force several Fast Backup profiles to re-scan then select them in the main window and select Rescan from the pop-up menu. · Force a re-scan when: This lets you define when SyncBack should perform a complete re-scan of the destination/email server. For example, to force a complete re-scan every Monday you would select %DAYOFWEEK% from the list, select equals from the drop- © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 140 down, and type in 1 (1=Monday, 7=Sunday) in the edit box. See the section below for details on why this may be required and what it does. Please read the notes below about the consequences of forcing a rescan when using FTP. Note that you cannot enter a list of values, for example you cannot use %DAYOFWEEK% and enter 1,3 to rescan on Mondays and Wednesdays. Only one value may be entered. With the Pro version it is possible to use scripting to decide when a rescan should occur, meaning far more complex evaluations can be made (see the IncVar example script). If you use greater than, greater than or equal, less than or less than equal, then see below on what happens when you evaluate strings and not numbers. Important Information About Fast Backups Explaining Fast Backups When you backup files to the destination it is assumed that no other application, or person, will be changing the files in the destination. For example, if you backup your files to another drive you are not going to be editing or changing those backup files (except using SyncBack to replace them as appropriate). Because of this SyncBack should be able to remember what files, and directories, are on the destination without needing to scan it to find out. How 'Fast Backup' works First, you need to enable a Fast Backup option on the Fast Backup tab. The Fast Backup option is not available if the profile is configured such that it cannot use the Fast Backup option, e.g. it's an Intelligent Synchronization profile. How Fast Backup works depends on the method chosen: · Backup of emails: Email servers (IMAP4 and Microsoft Exchange) give each email a unique index value (a UIDL). When SyncBackPro asks the email server for a list of emails it needs to get the email headers of each email to see what the local filenames will be and so compare it to the locally stored emails. Retrieving that email header can be slow. When Fast Backup is enabled SyncBackPro will get a list of email UIDL's (not the headers) and then check its local Fast Backup database to see which of those emails have been downloaded previously. For those emails that have been downloaded before, it will skip them, and for those it hasn't downloaded it will get the email header and proceed as per normal. This can greatly reduce the backup time. · Not using the archive attribute: When the profile is next run, SyncBack will remember which files and directories it copied to (or deleted from) the destination directory. This means the first run of a profile, after Fast Backup is enabled, will take the same amount of time as without Fast Backup enabled. However, for the second and subsequent runs of the profile it will not need to scan the destination directory because it remembers what it did the last time the profile was run. · Using the archive attribute: Each file has what is called an archive attribute (just like files have read-only, hidden, etc. attributes). Whenever a file is changed the archive bit is © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 141 SyncBackPro Help automatically set (by Windows), and when SyncBack copies a file it clears the archive bit. So when SyncBack needs to know which files are to be copied to the destination it just needs to see if the archive attribute is set. There is no need to scan the destination. The main advantage to using the archive attribute is that there is no need to keep information on the state of the files (so less disk space is used). It may also be very slightly faster (as it doesn't need to read and save the information on the files). Using Fast Backup means the scan time is substantially lower (at least twice as fast, often far more) especially if the destination is on a slow device, e.g. networked drive, cloud, FTP server, etc. Rescan with archival backups If a rescan is done, either by clicking the Force Rescan button or by other means, then when the profile is next run it will scan both the source and destination, compare the files, then copy new and changed files. This has a side effect with archival backup in that it will not copy a file (even if it has its archive attribute set) if the source and destination files are the same. If the profile is run again (so it is not a rescan) then it will scan the source, see the file has the archive attribute set, and copy it to the destination regardless. Can I use Fast Backups on all profile types? No. The Fast Backup option is only possible when no changes are being made to the destination by other programs, profiles, or users or it is a backup of emails. This means it cannot be used with backups from FTP or Zip files, synchronization profiles, or profiles that use prompting. It is for backup profiles only. Fast Backup can be used with all cloud storage services except Backblaze B2 (due to the file referencing scheme used). If you are using archival backups you must keep in mind SyncBack is relying on the archive attribute being set once a file is created or changed and is not reset by anything else other than that profile in SyncBack. Once the archive attribute is set then SyncBack knows the file needs to be backed up. However, some other programs, e.g. other backup software, may also use and reset file archive attributes. You must also be careful not to have more than one profile that copies the same files and resets the archive attribute. Sometimes SyncBack scans the destination directory or email server even though I've enabled Fast Backups. Why? There are a number of reasons why SyncBack may scan the destination directory: · The Force Re-scan button has been pressed for that profile. · The settings on the Fast Backup tab specify a re-scan should be performed under certain conditions. · The full command line parameter was used. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 142 · The fast backup data has been deleted. · The filters or file & folder selections have been modified. What options does using Fast Backup disable? When using Fast Backups you cannot enable the following options in your profile: · Reset the archive file attribute on files once they have been copied. · Files cannot be moved (to or from the source), and files cannot be copied to the source or deleted from the source (this option can be used with archive attribute fast backups) · The destination cannot be watched for file changes. What side effects are there with using Fast Backups? If the profile is set to delete destination only files, SyncBack may not know a new file has been created in the destination (see this section for more details). Because a Fast Backup will not scan the destination (except on the first run after it is enabled for that profile) that means only the changes will be applied to the destination without regard to what is actually on the destination. For example, you could change the destination directory, run the profile, and then only the new/modified files would be copied to the destination (and not all the files as would normally be the case). This has important consequences when your destination directory is dynamic, i.e. it uses environment variables that can change in value. For example: · Create a normal backup profile and set the source directory to C:\My Documents\ and the destination directory to D:\Backup\%DAYOFWEEK%\ · Enable Fast Backup for the profile. · On the first run of the profile (let's assume it's Monday and the destination directory is empty) all the files will be copied to D:\Backup\1\ · When the profile is run on Tuesday then only the new or modified files will be copied to D: \Backup\2\ · On Wednesday new and changed files will be copied to D:\Backup\3\ and so on until Monday. · When it is run again on the following Monday then only the new and changed files will be copied to D:\Backup\1\ © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 143 SyncBackPro Help · Enable the option "Keep fast backup data based on the actual destination directory". This will create full backups for each day and not just incremental backups for Tuesday to Sunday. Or · Enable the option "Delete all the files and folders in the destination before the backup" and force a rescan on Mondays. There are three ways to do this (using this example): 1. The best and easiest option is to configure the "Force a re-scan when:" settings to force a re-scan every Monday (select %DAYOFWEEK% from the list, select equals from the drop-down, and type in 1 (1=Monday, 7=Sunday) in the edit box). 2. You can do this manually by clicking the Force Re-scan button on the Mondays. 3. Use the -full command line option (for Monday only when scheduling). This will mean that the Monday backup is a complete backup, and the backups on Tuesday to Sunday contain just the new/changed files since the previous days backup. What about cloud storage and Fast Backups? Cloud storage services like Amazon S3 and Microsoft Azure have worked with Fast Backup since the feature was introduced. This is because "business/professional" cloud storage services like these can record meta-data with the files, e.g. they can store the last modification date & time, uncompressed size, etc. However, starting with SyncBackPro V10, Fast Backup can also be used with consumer cloud storage services like Dropbox, Google Drive, Box, etc. What about cloud cold storage and Fast Backups? Cloud storage services like Amazon S3 and Microsoft Azure have cold storage options. Basically, this means that objects (files) stored in cold storage are stored offline (e.g. on tape drives) for long-term storage. To change or retrieve objects stored in cold storage, a request must be made to the cloud storage service to copy the object from offline storage (e.g. tape) to online storage (e.g. SSD). Changes can then be made to the object and it can be moved back to cold storage once complete. Often the bucket/container is configured to automatically move objects to cold storage once they've been stored for a certain amount of time, e.g. after 7 days moved an object to cold storage. This can be a problem with Fast Backup because Fast Backup requires that the destination is not changed. Automatically moving an object to cold storage (after upload at a later time) is a change to the destination. For example: if you want to change the date & time of a file in cold storage then it will fail because to change the date & time of a file it must be retrieved from cold storage first, changed and then moved back to cold storage. Keep this in mind if you are using Fast Backup and cold storage. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 144 What about email and Fast Backups? The main benefit of using Fast Backup and email is that it can greatly reduce the backup time. One side effect of using Fast Backup and email is that if SyncBackPro has already downloaded an email it does not check to see if the email backup file actually exists. For example, you may have a profile that backs up your emails and then runs a 3rd party program that processes or moves those email files. This will not effect the next run of SyncBackPro as it doesn't care if the email file exists or not, only if it has been downloaded before or not. If you force a rescan then of course it will then compare the local email files with the actual emails on the server and act as appropriate. What about FTP and Fast Backups? One of the benefits of using Fast Backup and FTP is that it can really improve the backup time. Apart from not having to scan the FTP server to find changes, SyncBack also does not need to set the date & time of the file on the FTP server to match that of its equivalent file on your PC. This can further reduce the backup time. The Archival Fast Backup option is not available when doing multi-zip backup to an FTP server. When multi-zip files are stored on an FTP server SyncBack must name the Zip files in a special way (to store information like their uncompressed size, for example). Because of this the destination must be scanned to know what those filenames are. The non-archival Fast Backup method can be used (in most cases) because it knows what the destination filename is without scanning (because it is in the fast backup database). However, if the destination folder is dynamic, e.g. it is using a variable, then it can cause problems as it will not always be able to know what the destination filename is. If you don't care if the date & time of the files on your FTP server match those on your PC then you can untick the "If the FTP server cannot set a files date & time then change the local files date & time to match that on the server" option on the FTP tab. There are important consequences to doing this: the date & time the file should be set to (on the FTP server) is kept in the Fast Backup data. Therefore, if you force a re-scan (so erasing that data) then the last date & time information is permanently lost. What does this mean? · When you do a restore all the files will be retrieved from the FTP server along with their last modification date & time, which is not the original value. As the date & times won't match, all the files will be restored unless you've configured your profile to ignore file date & times. · When you next run a backup all the date & times will be mismatched so forcing a complete backup (unless you've configured your profile to ignore file date & times). What about backup to a single Zip file on an FTP or cloud server? Making a backup to a single Zip file on a remote FTP server creates some interesting challenges: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 145 SyncBackPro Help 1. To update a remote Zip file it would need to be downloaded, updated, and then uploaded. Depending on the size of the Zip file, this could be extremely slow. 2. To know what files and folders are in a remote Zip file it would need to be entirely downloaded. Because of this SyncBack will always replace the existing Zip file and therefore assume there are no files in the remote Zip file. The solution is to use a Fast Backup profile, i.e. an incremental or differential backup. For example, to keep 7 days worth of backups, and have a full-backup on Mondays and incremental backups on all the other days of the week: · Create a backup profile and configure your source as appropriate, and set your destination as appropriate (i.e. a single Zip file on an FTP server) · Set the Destination to something (the %DAYOFWEEK% is required) like \My Backups\% DAYOFWEEK%.zip · Go to the Fast Backup tab and enable the options: Perform a fast backup and set the fullbackup folder to \My Backups\1.zip · In the "Force a re-scan when:" box select the %DAYOFWEEK% item, select Equals from the drop-down list to the right of the box, and enter 1 into the box to the right of the drop-down list (we use 1 because Monday is day 1, Tuesday is day 2, etc). · You should schedule the profile to run just once every day Note about "Delete all the files and folders in the destination before the backup" This option should be used with care because it will delete all the files and folders in the destination before running the profile. However, if you are compressing to a single Zip file it will just delete that Zip file and no other folders or files. An important detail to remember about this setting is that the destination files are not deleted if the profile run is doing a rescan. For example, if you've configured your profile to rescan on Mondays (%DAYOFWEEK% equals 1) then when the profile is run on a Monday it will not delete the destination files. However, it will delete them if there is no rescan. This has consequences if you run your profile more than once and also if you do not ever do a rescan. For example, if you configured your profile to rescan on Mondays then when the profile is run on a Tuesday it will delete the destination files and copy over the new or changed files since the last profile run. However, if you run it again immediately (and assuming it is still Tuesday) it will delete those files and then copy over any new or changed files since the last run, which may be no files at all. Versioning As an alternative to doing incremental or differential backups, you may want to consider using Versioning instead. With versioning you can keep a defined number of versions of a file. This means you can keep old versions of files that have been changed or deleted. Note that you © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 146 can use versioning with Fast Backup, but it can become complex and will slow down a Fast Backup (as SyncBack must scan the destination to know what versions are available). Equals, Not Equals, Less Than, etc. If you are using strings (not integer numbers) for the re-scan comparison, then the following rules apply: · Equals (=), Not equals (!=, <>): a case insensitive string comparison is made, e.g. ABC is the same as abc · Less than or equal (<=), Greater than or equal (>=): is the equivalent of Equals. For example, if it was %DAYOFWEEKNAME% >= Fri, and it was Friday, then it would be a rescan. So it is equivalent to %DAYOFWEEKNAME% = Fri · Less than (<), Greater than (>): is the equivalent of Not equals. For example, if it was % DAYOFWEEKNAME% > Fri, and it was Friday, then it would not be a rescan. So it is equivalent to %DAYOFWEEKNAME% <> Fri Example Fast Backup Configurations The following section provides example backup configurations. To keep 7 days worth of backups, and have a full-backup on Mondays and incremental backups on all the other days of the week: · Create a backup profile and configure your source as appropriate · Set the Destination to something (the %DAYOFWEEK% is required) like D:\My Backups\ %DAYOFWEEK%\ · Go to the Fast Backup tab and enable the options: Perform a fast backup and Delete all the files and folders in the destination before the backup, and set the full-backup folder to D:\My Backups\1\ · In the "Force a re-scan when:" box select the %DAYOFWEEK% item, select Equals from the drop-down list to the right of the box, and enter 1 into the box to the right of the drop-down list (we use 1 because Monday is day 1, Tuesday is day 2, etc). · You should schedule the profile to run just once every day To keep 7 days worth of backups, and have a full-backup on Mondays and differential backups on all the other days of the week: · Create a backup profile and configure your source as appropriate © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 147 SyncBackPro Help · Set the Destination to something (the %DAYOFWEEK% is required) like D:\My Backups\ %DAYOFWEEK%\ · Go to the Fast Backup page and enable the options: Perform a fast backup, Differential backup (do not update the fast backup data), Delete all the files and folders in the destination before the backup, and set the full-backup folder to D:\My Backups\1\ · In the "Force a re-scan when:" box select the %DAYOFWEEK% item, select Equals from the drop-down list to the right of the box, and enter 1 into the box to the right of the drop-down list (we use 1 because Monday is day 1, Tuesday is day 2, etc). · You should schedule the profile to run just once every day To keep 7 days worth of backups and have full-backups for each day: · Create a backup profile and configure your source as appropriate · Set the Destination to something (the %DAYOFWEEK% is required) like D:\My Backups\ %DAYOFWEEK%\ · Go to the Fast Backup tab and enable the options: Perform a fast backup and Keep fast backup data based on the actual destination directory · Go to the Decisions - Files page and configure the profile to delete files from the destination that do not exist on the source. This ensures that your backups don't get cluttered with redundant files. · You should schedule the profile to run just once every day To keep full-backups on a set of disks: · Create a backup profile and configure your Source as appropriate · Set the Destination, e.g. X:\%DISKSERIAL%, where X: is a drive that accepts removable media, e.g. SD card, USB drive, etc. · Go to the Fast Backup tab and enable the options: Perform a fast backup and Keep fast backup data based on the actual destination directory · Go to the Decisions - Files page and configure the profile to delete files from the destination that do not exist on the source. This ensures that your backups don't get cluttered with redundant files. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 148 · Each time you run the profile use a different disk. You could keep 10 days worth of backups by rotating a set of 10 disks. Each disk will have a complete backup. 3.2.8 All Content: 2BrightSparks Pte Ltd © 2003-2021 Type In simple mode it's very easy to decide what type of profile you want, or to reset your file and folder decisions. For example, if you want to reset the settings so it's a backup then select the appropriate backup option. · Backup: A backup copies new and changed files in one direction, e.g. from your local drive to your Network Attached Storage (NAS) drive. Files on your local drive will not be deleted, moved or replaced. Files that have not changed are not re-copied. · Mirror: A mirror is the same as a backup except that it will also delete backup files that no longer exist on your source drive. For example: you mirror files from your local drive to a NAS drive. You delete a file from your local drive. When you next run the mirror profile it will delete that file from your NAS drive. · Synchronize: Synchronization is used when you have two locations and the files may be changed on both. For example, you have a USB stick that you take to work. You create a synchronize profile and run that at home and work to synchronize your local files to your USB stick. · Custom: You cannot choose this option, but it is selected if your current file and folder decisions do not fit one of the above categories. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 149 SyncBackPro Help 3.2.9 All Content: 2BrightSparks Pte Ltd © 2003-2021 When This page shows you if a profile has been configured to run on a schedule, e.g. 9 am every morning. To create or change the schedule click the Edit Schedule button. There are also two drop-down menu options: o Run whether user is logged on or not: This is the default and what happens when the Edit Schedule button is clicked. To create schedules that run even when you are not logged in it is a requirement of Windows security that you provide your Windows login password. This cannot be your pin, facial recognition, finger-print, etc. It must be your login password. o Run only when user is logged on: This creates a schedule that will only run if you are logged on when the scheduled time occurs. In this case you do not need to supply your Windows login password because the schedule will only run if you are already logged into Windows. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 150 For details on scheduling, and solutions to scheduling problems, see the Creating a Schedule section of this help file. See also the Automating SyncBackPro section for more details on scheduling and running profiles periodically in the background. Click the Delete Schedule button to delete an existing schedule. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.2.10 Notify Notifications are only available on Windows 8 or newer. With these settings you can be notified when profiles start or finish. · Display a notification when the profile starts: If enabled, when the profile starts a Windows Notification will be activated. If you click on the notification then the SyncBackPro window will be brought to the front. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 151 SyncBackPro Help · Display a notification when the profile finishes: If enabled, when the profile finishes a Windows Notification will be activated. If you click on the notification then the profiles log is displayed. o Only when errors occur: If enabled, when the profile finishes a Windows Notification will be activated, but only if the profile failed. · Display a notification when a profile prompts: If enabled (the default), when a profile prompts a Windows Notification will be activated. If you click on the notification then the SyncBackPro window will be brought to the front. A prompt includes displaying the Differences and File Collision windows. · Disable profile prompt notifications for ALL profiles: If enabled then profile prompts are never shown. This is a quick way to switch off the notifications if you find them distracting. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.2.11 Searching the settings By selecting Search, or by clicking search in the window caption, you can search all the settings for a profile (visible or not). Simply type the search text, e.g. cloud, into the Search edit box and a list of matching entries will appear. To go to the setting you want simply click on it in the search results. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 152 3.3 All Content: 2BrightSparks Pte Ltd © 2003-2021 Expert Mode To modify a profile either use Modify button on the toolbar in the main window. Spend time getting to know what options are available under the many pages in the Profile Setup window. SyncBackPro provides two modes to view and change your Profiles: Easy and Expert. Easy mode presents far fewer options to modify your Profile making the choices you make less © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 153 SyncBackPro Help complex than in Expert mode. To access the Expert mode, when modifying a profile, you'll need to select the 'Expert' mode item located in the Burger Menu Which settings are listed depends on the profile type. For example, a profile that performs a backup to the cloud will not show options for backup of email, FTP, etc. Burger Menu The Burger menu allows you to: · Select Easy or Expert mode · Save profile settings as a default profile · Copy profile settings from an existing profile · Load defaults · Revert to factory settings © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 154 Expert Options The left hand Options List contains a range of settings and choices that provide a great deal of flexibility in the way you can perform and control tasks, many of which are not available in the default Easy Mode. Spend time getting to know what options are available. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 155 SyncBackPro Help Expert Mode Simple, Performance Simple, History Media Transfer Protocol VHD Compression Compression, Encryption Compression, Advanced Compression, NTFS Compression, Compressed Decryption Intelligent Synchronization Decisions - Files Decisions, Folders FTP FTP, Advanced FTP, Proxy FTP, Firewall Cloud Cloud, Advanced Cloud, Proxy Backup Email Backup Email, Proxy SyncBack Touch © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Network Network, Advanced When, Hot-key When, Login/Logout When, Changes When, Insert When, Periodically When, Time Limit When, Program When, Touch Copy/Delete Copy/Delete, Folders Copy/Delete, Advanced Copy/Delete, Locked Copy/Delete, Network Copy/Delete, Warning Versioning Versioning, Delta Integrity Check Compare Options Compare Options, File Size Compare Options, Date & Time Compare Options, Attributes Compare Options, Security Log © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 156 157 SyncBackPro Help Log, Pushover Log, Proxy Log, Advanced Log, Email Log Misc. Misc., Media Misc., Speech Programs Before Programs, After Auto-close Variables Notes 3.3.1 All Content: 2BrightSparks Pte Ltd © 2003-2021 Simple, Performance This page shows you which settings may be affecting the performance of your profile. It is important to keep in mind that speed is not everything, and that what is more important is that the files are copied correctly. For example, verifying that your backup files are correct will slow down the profile but will guarantee your backup files are not corrupted at backup time. The safe copy option is enabled by default for most profiles and it is strongly recommended that you do not switch off this option just to slightly reduce the backup time. You can jump directly to the appropriate settings page by simply clicking on the items listed in the "The following settings are slowing down the profile:", etc., sections. 3.3.2 All Content: 2BrightSparks Pte Ltd © 2003-2021 Simple, History This page shows you the history of a profile, e.g. when it was run, where it was run, the result, etc. If the profile has not been run yet then this page will not be shown. This is similar to the log files except it's provided in table form. The history is also recorded separately from the log files and uses less disk space, so you may want to keep a longer history. A profiles history is © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 158 also sent to the SyncBack Management Service ( Pro version only) to enable remote monitoring of profiles. Note that no history is kept of simulated runs. There are two tabs: Simple and Detailed. The Simple tab just lists the last five runs of the profile and gives a brief overview of what happened. e.g. when the profile was run. The Detailed tab shows every profile run and all the details for those runs. On the Detailed tab, if you right-click on the history then a pop-up menu appears. Using this pop-up menu you can choose which columns to show or hide. See the Columns section below for the meaning of each column. Scripts ( Pro version only) have access to most of this information via the SBHistory object. · Maximum run history to keep: The number of profile runs to keep a history of. The default is 50 and the maximum is 500. Columns Columns 1 and 2 show the result of the profile run: · Result (1): The result of the profiles run, e.g. Success. · Critical Error (2): If there was a critical error then it is shown in this column. Columns 3 to 22 show information about the profile and its source/left and destination/right: · Type (3): A description of the type of profile, e.g. Fast Backup. · Backup Type (4): If the profile is a Fast Backup then this is the type of backup, e.g. Incremental. · Group (5): If the profile was run as part of a group, then the name of the parent group is shown. · Group Start Time (6): The date & time the parent group started (if part of a group). · Profile Start Time (7): The date & time the profile started. · Restore (8): If the profile was run as a Restore then it is indicated in this column. · Computer Name (9): The name of the computer the profile was run on. · Username (10): The Windows username of the user who ran the profile. · Source/Left (11): The source/left path. · Source/Left Override (12): If the source/left path was passed on the command line then it is indicated in this column. · Source/Left Volume Serial (13): The serial number of the source/left volume (that the source/left path is on). · Source/Left Free disk space (14): Free disk space (in bytes) available to the user on the source/left. · Destination/Right (15): The destination/right path or filename. · Destination/Right Override (16): If the destination/right path was passed on the command line then it is indicated in this column. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 159 SyncBackPro Help · Destination/Right Volume Serial (17): The serial number of the destination/right volume (that the destination/right path is on). · Destination/Right Free disk space (18): Free disk space (in bytes) available to the user on the destination/right. · FTP Server (19): If an FTP (or SFTP or FTPS) server was used, then this is the hostname of the server. · POP3/IMAP4 Server (20): If an email server was used, then this is the hostname of the server. · Cloud (21): If a cloud server was used then this is the type of cloud server, e.g. Amazon S3. · Bucket/Container (22): If a cloud server was used then this is the name of the bucket/container used on the cloud server. Columns 23 to 33 show information about the differences found between the source/left and destination/right: · Files Changed (23): The total number of file differences between the source/left and destination right. It is a sum of the columns 25 to 31. · Files Unchanged (24): The number of identical files (or there are only versions available). · Contents Changed (25): The total number of files whose contents have changed (only known if the slow method of file comparison is used). · Date/Time Changed (Modified) (26): The total number of files whose last modification date & times are different. · Date/Time Changed (Created) (27): The total number of files whose last creation date & times are different. · NTFS Security Changed (28): The total number of files whose security settings are different. · Size Changed (29): The total number of files whose sizes are different. · Attributes Changed (30): The total number of files whose file attributes are different. · Filename Case Changed (31): The total number of files whose filename case is different. · Only in Source (32): The total number of files only in the source/left. · Only in Destination (33): The total number of files only in the destination/right. Columns 34 to 43 show information about what was actually done during the profile run, i.e. changes made to the source/left and destination/right: · Deleted (34): The total number of files that were deleted (either from the source/left or destination/right). · Deleted (KBytes) (35): The sum of the sizes of all files that were deleted. · Skipped (36): The total number of files skipped, e.g. nothing was done with or to the files. · Copied (37): The total number of files copied. · Moved (38): The total number of files moved. · Copied/Moved (KBytes) (39): The sum of the sizes of all files that were copied or moved. · Renamed (40): The total number of files or folders renamed. · Date Changed (41): The total number of files that had their last modification date & time changed to match the opposite file. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 160 · Attributes Changed (42): The total number of files that had their file attributes changed to match the opposite file. · Versions Restored (43): The total number of files that had versions restored. Columns 44 to 46 show total error counts accumulated during the profile run: · Critical Errors (44): The total number of files that failed to be copied, moved, or deleted. · Compression Errors (45): The total number of compression related errors, e.g. could not be zipped or unzipped. · Cannot Compute Hash (46): The total number of files that could not have their contents compared (the slow method of comparison). · Warnings (47): The total number of warnings. 3.3.3 All Content: 2BrightSparks Pte Ltd © 2003-2021 Media Transfer Protocol Using this window you can specify which Media Transfer Protocol supported device you want the profile to use. If possible, it is recommended that SyncBack Touch be used instead of MTP. Touch is considerably more flexible, faster and has fewer limitations or problems. It is also free to use with SyncBackPro and SyncBackSE V10 and newer. · Destination/right files are on a Media Transfer Protocol device: If the destination/right is a device that supports MTP then tick this checkbox and then select the appropriate device in the drop-down list. · Connect to any MTP device that has the same name: If this option is enabled then SyncBack will try to connect to the device (via its unique ID) and if that fails it will try and connect to any MTP device that has the same name but a different ID. If this option is not enabled then SyncBack will only connect to the specific device chosen. You may want to enable this option if you have a device that can connect using Wi-Fi or USB and you may use either connection type. · If the MTP device cannot set a files date & time then change the local files date & time to match that on the device: Many MTP devices only implement very basic file system support. This means they often do not store a files last modification date & time or provide it as read-only. This is similar to the problem with some FTP servers. If this checkbox is ticked then SyncBack will instead change the local files date & time to match that of the corresponding file on the MTP device. · Run this profile when the MTP device is connected: If enabled then SyncBack will run this profile when the MTP device is connected to your computer, e.g. via USB. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 161 SyncBackPro Help o Run unattended, i.e. do not prompt me: If enabled then SyncBack will run the profile unattended when the MTP device is connected. By default it is run attended, i.e. prompts will be made if required. Please make sure you unlock your device before connecting it to your computer via USB. Because of the security settings on Android devices you cannot access the files on the device unless you unlock it before connecting it. For example, some HTC phones will give a different device ID when connected locked. The level of MTP support varies between manufacturers. Some devices cannot set the last modification date & time of files, for example. SyncBack can only request an action be made, e.g. delete a file. It is entirely up to the device to perform that action. On some devices you may need change the USB setting to Mass Storage for SyncBack to be able to access your device via MTP. Please refer to the device documentation for how to do this. Some devices have internal and external memory and may combine the listings for files and folders. For example, you may have a file called abc.txt on the internal memory and a file with the same name (but different contents) on the external memory. When asking for a list of files and folders the device may give the same filename more than once (once for each storage device it is in) in the same folder. It is impossible for SyncBack to know which file it is that you want. When this occurs SyncBack will post-fix the filenames with (1), (2), etc. on the local computer storage. This is so you can get all files with the same filename in the same folder. However, this can become an issue if the MTP device changes the order in which it returns the filenames or one of the files is deleted on the device. 3.3.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 VHD Using this window you can use existing VHD/X files (on Windows 7 or newer). VHD (Virtual Hard Disk) is a disk image file format for storing the complete contents of a hard drive. The disk image, sometimes called a virtual machine, replicates an existing hard drive and includes all data and structural elements. Settings · Mount a VHD (a virtual drive): If you want to use a VHD file, then enable this option. Note that you must create the VHD file yourself, which is possible within Windows. Note that VHD files are only supported on Windows 7 or newer. · Filename: This is the filename of the VHD file. SyncBackPro cannot create VHD files. You must use Windows, or another utility, to create VHD files. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 162 · Mounting Point: A virtual drive can be mounted on a drive letter, e.g. X:\, or on an empty folder in an NTFS partition. Note that this is entirely optional and not required (unless BitLocker is being used). Only mount a virtual drive if you have external programs that need access to the virtual drive while the profile runs. Also, if it is already mounted then the existing mounting point will be used instead. If a VHD file is being used, which is protected by BitLocker using a password, then it must be mounted to a drive. It cannot be mounted to a folder on NTFS. Creating a new VHD file Windows itself contains the utilities to create VHD files. There are two ways to do this: via Disk Management or via DiskPart: https://technet.microsoft.com/en-us/library/gg318052(v=ws.10).aspx#BKMK_Part Basically, you need to create the VHD file, create a volume on it and then format it. This only needs to be done once. You do not need to attach or mount it as this is done via SyncBack (however, if it is already attached or mounted then it's not a problem). To create a VHD via the command line: 1. To start the DiskPart command interpreter, open an elevated Command Prompt window (click Start, right-click Command Prompt, and click Run as administrator) and type: diskpart 2. To create a new 2 GB dynamically expanding .vhd file (called Test.vhd) and save it to the C:\vhd folder, type the following command. If you do not specify the type=expandable parameter, DiskPart will create a fixed VHD: create vdisk file=c:\vhd\test.vhd maximum=2000 type=expandable 3. We now need to attach the VHD file: attach vdisk 4. To create a primary partition inside the new VHD, type: create partition primary 5. To format the partition, type: format fs=ntfs label="test volume" quick 6. We can now detach it: detach vdisk © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 163 SyncBackPro Help 7. And finally exit diskpart: exit Using an existing VHD/X file To use an existing VHD/X file, enable the Mount a VHD (a virtual drive) option and click the Folder button in the filename edit box. · Encryption: If the VHD/X file is using BitLocker with a password, then enter the password. If no encryption is being used then do not enter a password. · Filename: You can now choose the VHD/X file. Click the Finish button to open the virtual drive. 3.3.5 All Content: 2BrightSparks Pte Ltd © 2003-2021 Google Photos You are strongly advised to use a linked cloud account. SyncBackPro has the ability to backup photos and videos stored on Google Photos. It can only copy files from Google Photos. It cannot upload, delete or change files stored on Google Photos. It is strictly read-only. How Files are Stored In Google Photos you can put photos and videos (which we'll now refer to as files) in Albums. A file can be in multiple albums or no albums at all. Files on Google Photos also have their original filename stored (which is likely the one used by the camera, for example). This filename is not guaranteed to be unique and is not used by Google Photos (it's purely for you reference). Files on Google Photos also have a unique ID (which is a very long meaningless string of letters and numbers). SyncBackPro will store the files, downloaded from Google Photos, based on the date the file was created by the device that took it. So at the highest level is the year, followed by the month. The numeric value of the month is used instead of the name (for consistency across all languages). For example: X:\Google Photos Backup\2019\1\ X:\Google Photos Backup\2019\2\ X:\Google Photos Backup\2018\12\ X:\Google Photos Backup\2016\6\ © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 164 The local filename used is the filename on Google Photos (e.g. the filename given by the camera) along with a hash of the unique file ID. This is to ensure the filename is unique, e.g. VIDEO0007.54A7ECCE.mp4 Due to the way Google Photos works, there are some limitations: · Google will not allow location meta-data to be downloaded so it will not be included in any files downloaded by SyncBackPro from Google Photos. · SyncBackPro uses Google Photos essentially in read-only mode. It cannot make any changes to anything on Google Photos. To restore your photos to Google Photos, use their web interface or other Google Photos tools. · Google Photos does not provide file size details, so SyncBackPro does not know how large the files are when we receive the list from Google Photos. · Some files on Google Photos may not have a date & time or a valid date & time. You cannot change the date & time of a file on Google Photos. · SyncBackPro does not use the date & time, or the size, for comparisons. · Files on Google Photos don't have attributes like on normal file systems. · When choosing the file & folders to download, you actually choose based on the local filesystem and not on what is on Google Photos. For example, if you only want to download files from 2019 then, if not already created, create a folder called 2019, then choose the files & folders. Alternatively, use a filter. · A number of options are not available when using Google Photos, e.g. Fast Backup, Intelligent Sync, Compression, etc. Settings · Copy the photos from files from Google Photos: Enable this option to copy files (photos and videos) from Google Photos. o Use my account: By clicking this button you are setting the profile to use your linked cloud account. o Connect to/Disconnect from Google Photos: Click this button to allow SyncBackPro to use your Google Photos account (or to stop it using the account). You'll need to login to your Google Photos account via a web browser then enter an authorization code into SyncBackPro. It is strongly recommended that you instead use a linked cloud account. o Username: This is read-only and simply shows the username (email address) of the Google Photos account being used, if any. · I use a proxy server: If you must use a proxy server to connect to Google Photos then you must enable this option. o Hostname: This is the hostname of the proxy server, e.g. proxyserver.com o Username: This is the username to use to connect to the proxy server. It may be optional for your proxy server. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 165 SyncBackPro Help o Password: This is the password to use to connect to the proxy server. It may be optional for your proxy server. o Port: The port number of the proxy server. This value varies depending upon the type of proxy server software used. Although "1" is the default, it will almost certainly not be this number. 3.3.6 All Content: 2BrightSparks Pte Ltd © 2003-2021 Compression SyncBack has the ability to compress files using the industry standard ZIP format as well as the newer LZMA format. Compression reduces the size of the file and has the potential to save a lot of disk space, especially when files such as text and office documents are being copied. Two methods of compression are supported: all the files can be placed into one single compressed file (single Zip), or each file can be placed into it's own individual compressed file (multi-Zip). The first option uses the least amount of disk space, but has the disadvantage that "all the eggs are placed in one basket", so to speak. Also, versioning cannot be used if all files are placed into a single compressed file. To increase compression performance SyncBackPro can be configured not to try and compress already compressed files, e.g. MP3's, JPG images, etc. Instead of compressing files of these types it will instead store them (without compression) in the Zip file. Note that they are still stored in a Zip file but are not compressed within the Zip file. For maximum security, you can also encrypt and compress the filenames and file details within the Zip file. SyncBackPro is Unicode enabled, so it can store files and folders with names in any language, e.g. Chinese, in a Zip file. However, some compression programs are not Unicode enabled. Because of this if you open a Zip file produced by SyncBackPro using a non-Unicode enabled compression program then it will show the filenames incorrectly (probably with question marks). The problem is with the compression program, not the Zip file produced by SyncBackPro. The solution is to use a compression utility that is Unicode enabled, such as 7Zip, for example. Another possibility is that the compression utility uses UTF-8 Unicode encoding, e.g. WinZip 12. If so, you should configure the profile to use UTF-8 encoding in the Zip file. Also note that if you open a split Zip file created by SyncBackPro in a compression program, e.g. WinZip, then it may give an error saying the file is corrupted. The problem is that it is expecting the split filenames to be named differently. See this section for details. How Compression Is Used © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 166 When you are using the cloud, FTP, SyncBack Touch and Media Transfer Protocol (MTP) then the compression applies to that location. This means that any files copied to that location, e.g. FTP, will be compressed to a temporary file and that compressed file will be uploaded to the location. When a file is copied from such a location then the compressed file is downloaded and uncompressed. In some cases, e.g. with FTP, the compressed file stored in the location will have a special filename. This special filename contains details about the file stored in the compressed file. By doing this SyncBackPro can scan the location and get the details of the file within the compressed file without having to download it and extract it, which would be extremely slow. In most cases, e.g. when using Amazon S3, it doesn't need to do this as those kinds of locations allow SyncBackPro to store meta-data along with the file and this meta-data will contain details of the file within the compressed file. In the special case that you have compressed files on FTP etc. and want to download them uncompressed then you must run the profile as a restore. So you must create a backup profile where you are backing up files to the location using compression and then run that profile as a restore. Keep in mind that if the compressed files are being created by something other than SyncBackPro then they will not have the special filename that contains the details. This means SyncBackPro will not know the size nor the last modification date & time of the file inside the compressed file. If you want to download files from FTP etc. and have them stored locally compressed, then this is not possible with a single profile. Instead you would need to create two profiles: the first profile would download the files to a temporary location and the second profile would then compress those files. Those two profiles would then be put into a group and you would run the group. Compression Settings · Compress the files on destination/right into a Zip file: Enable this option to compress files copied to the destination/right into a Zip file. If you are backing up files to an FTP server, please read the Fast Backup section for tips on getting the best results. · Put all the files into a single compressed file (by default each file will be placed in its own compressed file): If this option is enabled, then the files will be put into a single compressed Zip file. If this option is not enabled (the default), then each file will be placed into it's own Zip file. When each file goes into its own Zip file, and those Zip files are being stored on an FTP server, we have the problem of knowing what is in a Zip file on a remote FTP server. To know this SyncBackPro would need to download the Zip file and open it to see what file is inside it, what it's uncompressed size is, and what it's last modification date & time is. To avoid this SyncBackPro changes the filename of Zip files stored on an FTP server by embedding this information in the filename itself. However, if the filename does not contain this information, e.g. it was created on the FTP server by some other utility, then SyncBackPro will not know the files © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 167 SyncBackPro Help uncompressed size or its last modification date & time. This means (depending on your profile configuration) it will always assume the file has been changed since the last profile run. · Type of compression: There are five types of compression: Deflated (which is the default), Deflated64, Burrows Wheeler, BZip2, and LZMA. Deflated provides the normal type of compression used by the older Zip format (traditional PKZIP 2.04g compression method). Deflated64 (also know as Enhanced Deflate) provides a greater level of compression, but note that it will increase the compression time and is not compatible with older Zip compression programs. Deflate64TM is a trademark of PKWARE Inc. Burrows Wheeler (popularized by the UNIX and Linux BZip2 program) offers significantly better compression than Deflate but takes longer to compress and decompress data. Tests have shown BWT (Burrows Wheeler Transform) to often achieve between 20% to 30% better compression than Deflate on many popular file types such as databases, pictures, text and executable files. BWT is considered to be one of the most efficient compression algorithms for compressing XML data. In comparison to BWT, Deflated64 is slightly faster but does not compress as well. Note that the Burrows Wheeler compression method is not supported by any other compression program. Only SyncBackSE and SyncBackPro can be used to restore Burrows Wheeler compressed files. BZip2 is similar to the Burrows Wheeler compression method except that it is compatible with some compression programs, e.g. WinZip 11. Note that in some cases, e.g. with highly random data, the compression speed can be very slow as compared to the other compression methods. However, it generally provides the best compression level. LZMA (Lempel-Ziv-Markov chain-Algorithm) uses an improved and optimized version of the Lempel-Ziv (LZ77) compression algorithm, backed by a Markov chain range encoder. It uses a variable dictionary size. It is compatible with some compression programs, e.g. WinZip 12. LZMA typically provides much better compression than the Deflate and Deflate64 algorithms at the expense of speed and memory usage when compressing. It also typically provides compression ratios a little better than BZip2/BWT while being a little faster. LZMA maximum level compression uses a huge amount of memory. If you run two or more profiles in parallel, that use LZMA maximum level compression, then you will probably get the following error: Compression error: There is not enough free memory to process the file. It is strongly recommended that you use the 64-bit version of SyncBackSE or SyncBackPro, and have enough memory, if you need to use maximum level LZMA compression. · Level of compression: There are ten levels of compression ranging from level 0 (no compression, files are stored in a compressed file but are not actually compressed) to level © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 168 9 (highest compression). The more a file is compressed, the slower it takes to compress the file and it will also use more memory. This option allows you to make a trade-off between speed and file size. The Type of compression setting also influences the compression speed and file size. Note that level 9 LZMA compression uses a huge amount of memory and will very likely cause memory failures if two or more profiles are run at the same time using level 9 LZMA compression. 3.3.7 All Content: 2BrightSparks Pte Ltd © 2003-2021 Compression, Encryption · Encryption method: If you wish to password protect the contents of the files in the Zip file then choose the encryption method to use. AES encryption is more secure but not as portable. For example, "Old style" encrypted Zip files can be decrypted and extracted using practically any 3rd party Zip program. However, AES encrypted Zip files can only be decrypted and extracted using newer 3rd party Zip programs, e.g. WinZip 9. · Password: If you want to password protect the files in the compressed archive then enter a password here. It's important to note that if you change the password then the existing files in the destination will still use the old password. Each file in a compressed archive has its own password. The maximum password length is 79 characters. · Prompt for the password when run (profile will fail if run unattended): If this option is enabled then every time the profile is run SyncBack will prompt you for the compression password. If the profile is being run unattended, then no prompt will be displayed and the profile run will fail. · Encrypt and compress the filenames and details: SyncBack can optionally encrypt and compress the filenames and file details in the Zip file. By doing this, anyone who opens the Zip file (to see the file list) will be unable to see anything without knowing the password. This encryption method is compatible with PKWare SecureZip. It is not compatible with the same feature in WinZip and 7-Zip. To use this option some other options must be set first: o All files must be put into a single Zip file o The Deflated or BZip2 compression method must be used o The encryption method must be AES o Split Zip files cannot be used o Self-extracting Zip files cannot be used o The compression level must be greater than zero (i.e. it must be compressed) Note that you are entirely responsible for remembering the password used. It is not possible under any circumstances for 2BrightSparks to recover lost passwords. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 169 SyncBackPro Help 3.3.8 Compression, Advanced · Create self-extracting Zip files: If ticked then a self-extracting Zip file will be created. A self-extracting Zip file is an executable program, that when run, will extract its contents. The benefit is that a 3rd party Zip program is not required to uncompress the files. Please note that as the self-extracting executable is 32-bit, it is limited to roughly 2GB in size (it's not exactly 2GB as it depends on the executable extractor included in the file). This is true even for 64-bit versions of SyncBackPro and SyncBackSE. · Create a multi-part Zip file with each part having the maximum size of...: Setting a value means you want a split zip file with each part being no more than the size specified. These separate parts can then be copied manually to an FTP server, cloud, etc. An important point to note about split Zip files is that they cannot be modified once created (this is a limitation of the compression format, and not SyncBack). The existing Zip file will be automatically deleted and rebuilt. For this reason you may wish to use a Fast Backup profile that does full and incremental backups. Note that the naming standard used by SyncBack is not compatible with some Zip programs. See the section below for more details. · Filename extension: This option is only available when compressing each file to its own file. Enter the filename extension to use for the destination compressed files. By default '.zip' is used. · Store the filenames in UTF8 format: WinZip 12 and newer compression utilities support storing filenames in a special format (UTF8). This allows for non-English filenames, e.g. Chinese, to be correctly recognized. If you are encrypting filenames in the Zip file then UTF8 is enforced. · Temporary directory: By default, temporary files produced during compression are stored in your standard Windows temporary directory. You can however change this using this option. For example, you may be using a small RAM disk as your temporary directory and so when using compression you would like the temporary files stored on your RAM disk. It is recommended you leave this setting empty so that the default temporary directory is used. You can use variables. · Number of files to compress/uncompress in parallel: When using multi-zip compression, i.e. all files go into their own Zip file, then you can greatly increase performance by compressing/uncompressing files in parallel (at the same time) instead of one at a time. Keep in mind that as you increase this value the memory and CPU consumption will increase. If the value is too high it will instead slow down your profile. This option is only available when copying to another drive and not with FTP, cloud, etc. Split Zip Files There is no standard way to name split Zip files. The naming standard used by SyncBack for split Zip files is different from that used by WinZip, WinRAR, and possibly other compression utilities. To open split Zip files you may need to rename the Zip files. For example, the following files may be created by SyncBack: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 170 Test.zip Test.z02 Test.z03 If you attempt to open the Zip file using WinZip or WinRAR it will incorrectly report that the Zip file is corrupt. If you wish to open the Zip file using WinZip or WinRAR you must rename the files as follows: Rename test.zip to test.z01 Rename test.z03 to test.zip (i.e. change the extension of the last file to .zip) If you are using the 7-Zip archiver then you must be using version 16 or newer. 3.3.9 All Content: 2BrightSparks Pte Ltd © 2003-2021 Compression, NTFS · Use NTFS compression on files copied to the source/left (only valid on NTFS volumes): If enabled, and the source/left is on a volume formatted with the NTFS file system, then files copied from the destination/right to the source/left will be compressed using NTFS compression. · Use NTFS compression on files copied to the destination/right (only valid on NTFS volumes): If enabled, and the destination/right is on a volume formatted with the NTFS file system, then files copied to the destination/right from the source/left will be compressed using NTFS compression. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.10 Compression, Compressed To increase compression performance SyncBackPro can be configured not to waste time trying to compress already compressed files, e.g. MP3's, JPG images, etc. Instead of compressing files of these types it will instead store them (without compression) in the Zip file. Note that they are still stored in a Zip file but are not compressed within the Zip file. This profile settings page can use and create shared settings. To add a file type (not to be compressed, but just stored) click the Add button. You can then enter the file type, e.g. JPG. There is no need to prefix it with a period (.) as it will be added automatically. To remove a file type, select it in the window then click the Remove button. While selecting, you can use the SHIFT and CTRL keys to make multiple selections. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 171 SyncBackPro Help All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.11 Decryption SyncBack has the ability to automatically decrypt copies of NTFS (EFS) encrypted files. For file encryption please review the Compression Encryption page in this help file. The settings on this page refer to NTFS (EFS) encryption, which is not related to the encryption used with compression. For FTP transmission encryption please review the FTP, Advanced page, and for cloud transmission encryption please review the Cloud page. · Decrypt NTFS encrypted files copied to source/left (only valid on NTFS volumes): If ticked, then if an NTFS (EFS) encrypted file is copied to the source/left, it will be automatically decrypted. · Decrypt NTFS encrypted files copied to destination/right (only valid on NTFS volumes): If ticked, then if an NTFS (EFS) encrypted file is copied to the destination/right, it will be automatically decrypted. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.12 Intelligent Synchronization With Intelligent Synchronization you are given a large number of options of what to do in each situation. Although the list and options appear daunting, taking the default values is nearly always the best option. Intelligent Synchronization cannot be used when compressing all files into one single file. In the description of the options below an example follows about how each option may be triggered when you do an Intelligent Synchronization. With a backup, you typically refer to the file locations as Source and Destination, i.e. you copy files from the source to the destination. However, with synchronization, there is no source and destination because files are copied in both directions. Because of this, the file locations are referred to as Left and Right. Remember that you are free to label your file locations however you wish; simply click the location labels to edit them to the text of your choice (per-profile). Example Scenario You have a local copy of the files on your laptop computer. In your profile setup this is the Left directory. There is also a copy of those files on the company network. In your profile setup this is the Right directory. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Left Using SyncBackPro 172 Right People in the company are making changes to the files on the network, and when you are out of the office you are changing your files on your laptop. Once you return to the office you are connecting your laptop to the company's network and synchronizing your files using SyncBack. Note that when you first run an Intelligent Synchronization profile it has no history of data to look at and so, for example, cannot know if a file was only changed in the left but not the right. What to do if...: · ...the same file has been changed in both the left and right: You have changed a file on your laptop and someone has also changed the same file on the network. In this situation, it's best to be prompted on what to do. You may need to manually merge the file contents. Tick the Move the file instead of copying it checkbox to move the file. Note that this decision is also used in the following situations: 1) The left file has changed but it has been newly created in the right and they are different, 2) The left file has not been changed but it has been newly created in the right and they are different, 3) The file has been newly created in the left but the right file has been changed and they are different, 4) The file has been newly created in the left and the right file has not been changed but they are different. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 173 SyncBackPro Help · ...the file has only been changed in the left (unchanged in right): You have changed a file on your laptop and nobody changed that file on the network. In this situation the default is to copy your changed file to the network (Left overwrites right always). Tick the Move the file instead of copying it checkbox to move the file. · ...the file has only been changed in the right (unchanged in left): A file was changed on the network and you didn't change your local copy of the file. In this situation the default is to replace your local copy with the changed one (Right overwrites left always). Tick the Move the file instead of copying it checkbox to move the file. · ...a file is deleted from the left (but was changed or created in the right): You have deleted a file on your laptop but someone has changed that file on the network or created a file with the same name on the network. In this situation the default is to be prompted as you may either want to delete the network file, or copy the network file to your laptop. · ...a file is deleted from the left (but is unchanged in the right): You have deleted a file on your laptop and the file on the network was not changed. In this situation the default is to also delete the file from the network (Delete file from right). · ...a file is deleted from the right (but was changed or created in the left): Someone has deleted a file from the network but you've changed your local copy of that file (or created a new file with the same name). In this situation the default is to be prompted as you may either want to delete your local copy of the file, or copy the local file to the network. · ...a file is deleted from the right (but is unchanged in the left): Someone deleted a file on the network and the file on your laptop was not changed. In this situation the default is to also delete the file from your laptop (Delete file from left). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 174 · ...a new file has been created in both the left & right and are different: The same file has been created on the network and your laptop. This happens when you first run an Intelligent Synchronization profile. The default is to be prompted, and usually you would choose to copy the newer file over the older file (Newer file overwrites older file). Tick the Move the file instead of copying it checkbox to move the file. · ...a new file has been created in the left only, or is only in the left: You have created a new file on your laptop and it doesn't exist on the network. This happens when you first run an Intelligent Synchronization profile. The default is to copy the file to the network (Copy file to right). · ...a new file has been created in the right only, or is only in the right: Someone has created a new file on the network and it doesn't exist on your laptop. This happens when you first run an Intelligent Synchronization profile. The default is to copy the file to your laptop (Copy file to left). · ...the properties or the filename case of a file on left have been changed (unchanged on right): The file on the left and right are identical except for the case of its filename or its properties. The case of the left filename, or its properties, have been changed so that they are no longer the same as the right. For example, the left file was previously called abc.txt but has been renamed to ABC.TXT. See the Renaming Case Change section below for important information. · ...the properties or the filename case of a file on right have been changed (unchanged on left): The file on the left and right are identical except for the case of its filename or its properties. The case of the right filename, or its properties, have been changed so that they are no longer the same as the left. See the Renaming Case Change section below for important information. · ...the properties or the filename case of a file on both left and right are different: The file on the left and right are identical except for the case of its filename or its properties. The case of both the left and right filename, or its properties, have been changed © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 175 SyncBackPro Help and they are not the same. See the Renaming Case Change section below for important information. · Detect file renames on Left (note this may reduce performance): If this option is ticked then SyncBack will try to detect files that have been renamed/moved in the left. If a file has been renamed on the left then it will rename the right file to match it. Note that this option requires that file contents be compared, which means this option could be very slow when there are many files or very large files. It will only compare files when it needs to. This option may not be available, depending on the profiles settings. · Detect file renames on Right (note this may reduce performance): If this option is ticked then SyncBack will try to detect files that have been renamed/moved in the right. This option may not be available, depending on the profiles settings. · When prompting, and the run is unattended, ignore the changes: For some of the decisions you may have chosen to be prompted. However, if the profile is being run unattended then you cannot be prompted. In this case the file is ignored and a warning is recorded in the log file. With an Intelligent Synchronization profile you may want SyncBack to ignore the changes. See the Ignoring Changes section for important details on what this means. · Clear History: If clicked, then the Intelligent Synchronization history (database) will be cleared. If it is cleared then when the profile is next run SyncBack will not have any history to base its decisions on, so it cannot know if a file was only changed in the left but not the right. Clearing the history is equivalent to not having yet run the profile. This button is disabled if there is no history to clear. Ignoring Changes Intelligent Synchronization works because SyncBack keeps a database of the state of files and folders, to which it can then refer to detect what has changed since the last time the profile was run. For example, if SyncBack knows a file existed on the left, and then when you next run the profile the file no longer exists, it knows the file was deleted from the left. Without that database it would have no idea that the file had existed before. After a profile has finished it updates this database so it can be used on the next run. However, if a file is being skipped because you cannot be prompted on the decision to make, then you may not want SyncBack to update that database for those files that were skipped because you could not be prompted. Let's use an example of why you may want to do this: 1. You have the same file, file.txt, in the left folder (C:\Left\file.txt) and the right folder (C: \Right\file.txt). 2. You modify the left file and also modify the right file. 3. The profile is run unattended. Both files have been modified and you've chosen to be prompted if both files have been modified. However, the run is unattended so the files are skipped because you cannot be prompted. 4. After the profile has finished SyncBack updates the synchronization database with the new details of the files. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 176 5. Later you modify the left file. 6. The profile is run attended, i.e. you can be prompted. SyncBack will now copy the left file over the right file. Why? Because since the last run (in step 3) the left file has been modified and the right one has not. You've selected that if one file is modified and the other isn't then the modified file replaces the unmodified file. As you can see the problem here is that you have lost the changes made to the right file. This was because in step 4 SyncBack replaced the old file details with the new ones. If you choose to ignore changes when you cannot be prompted then it would work differently: 1. You have the same file, file.txt, in the left folder (C:\Left\file.txt) and the right folder (C: \Right\file.txt). 2. You modify the left file and also modify the right file. 3. The profile is run unattended. Both files have been modified and you've chosen to be prompted in both files have been modified. However, the run is unattended so the files are skipped because you cannot be prompted. 4. After the profile has finished SyncBack does not update the synchronization database for those files that were skipped because you could not be prompted. 5. Later you modify the left file. 6. The profile is run attended, i.e. you can be prompted. SyncBack will now prompt you about the file because it still has the old details for a previous attended run, and because of this it sees that both the left file and right file have been modified. The example above highlights that the update (or not) to the synchronization database (in step 4) is the reason for the differences. Renaming Case Changes What does a change in case actually mean? Case means upper case or lower case. A file called abc, for example, has the same name but different case from a file called ABC. In most situations it doesn't matter if the case is different. For example, although Windows keeps the case of a filename it doesn't care if a file is called abc or ABC. To Windows, and all programs running in Windows, they are the treated as the same name. On Windows you cannot have a folder with a file called abc and a file called ABC. Windows is not case sensitive. However, in some situations the case does matter and is important. For example, if files are being stored on a UNIX or Linux system, e.g. via an FTP server, then a file called abc is different from a file called ABC. A directory could contain both a file called abc and a file called ABC. Cloud systems are usually case sensitive (Amazon S3TM and Microsoft AzureTM are) so would act the same way as an FTP server on a UNIX/Linux system. When SyncBack gets a list of files it will check to see if there are files with the same name but different case. If so, an error is recorded in the log file because SyncBack can only use one of those files so the others must be skipped and ignored. For example, if there are files called abc, ABC, and Abc all in the same folder then two of them will be ignored and only one of them used. Which file is used? That cannot be determined or defined. SyncBack will use © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 177 SyncBackPro Help the first one it finds, but the order of the list of files it receives is often system dependent and could be random. On some file systems changing the case of a file or a folder may not work. For example, changing the name from case to CASE may do nothing. If so, this is a limitation of the file system itself. What if a files contents are the same but not the last modification date & time? Let's say you have a file in the left and right, but the date & time are different, e.g. the right file is older. What happens? · If you have a backup profile, with the default settings, then the left file is copied to the right. This is because it uses the option of what to do if the files are different, and by default a backup profile will copy the left file to the right. · If you have a backup profile, and have enabled the option Use slower but more reliable method of file change detection enabled (or the files are empty) then it will see if the files contents are the same. If not then it will copy the left to the right. If the contents are the same, then it will use the case changed setting to decide what to do. By default it will do nothing, but if you have set it to use the case from the left then the date & time of the left file will be set on the right file. · For Intelligent Synchronization profiles, it will know which file had its date & time changed, and so will use the appropriate "case changed" setting to decide which date & time to use. What if a files contents are the same but not the files attributes? Let's say you have a file in the left and right, but the attributes are different, e.g. the left file is read-only but the right file is not. What happens? First, by default, a profile does not compare the attributes of files to see if they're different. To compare attributes you need to go to the Compare Options -> Attributes settings page and choose which attributes you want to compare. For example, you may only care about the hidden and read-only attributes, and so would only enable comparison of those attributes. Keep in mind that some locations, e.g. FTP, don't have Windows file attributes. Also, some file systems, e.g. FAT32, don't have some attributes. In those situations SyncBack will ignore those unsupported attributes and not compare them. In the following examples, we assume the profile has been configured to compare the attributes of files: · If you have a backup profile, with the default settings, then the left file is copied to the right. This is because it uses the option of what to do if the files are different, and by default a backup profile will copy the left file to the right. · If you have a backup profile, and have enabled the option Use slower but more reliable method of file change detection enabled (or the files are empty) then it will see if the files contents are the same. If not then it will copy the left to the right. If the contents are the same, then it will use the case changed setting to decide what to do. By default it will do © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 178 nothing, but if you have set it to use the case from the left then the attributes of the left file will be set on the right file. · For Intelligent Synchronization profiles, it will know which file had its attributes changed, and so will use the appropriate "case changed" setting to decide which files attributes to use. Versioning If you are using versioning then you should set the profile to store versions in a sub-folder of the base folder and not in a sub-folder of the original file. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.13 Decisions - Files Define how SyncBackPro will perform its task under different circumstances. For example, what SyncBackPro will do if the same file is in the destination but not the source. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 179 SyncBackPro Help The Decisions - Files page lets you tell SyncBackPro which files to copy, delete, move, or rename. If this is a new profile then these settings have already been correctly chosen for you and there is no need to change them. Which options are displayed depends on whether you have an Intelligent Synchronization profile or not. There are four different situations in which SyncBackPro must decide what action to take: 1. When there is a file (with the same name and in the same directory) that is both in the source and the destination but their contents are not the same. For example, you may have changed the file in the source. 2. When there is a file that is in the source, but not in the destination. For example, you may have deleted the file in the destination. 3. When there is a file that is in the destination, but not in the source. 4. When the files have not been changed but the case is different or the properties are different. For example, the source file may be called abc.txt and the destination file called ABC.TXT. See the Renaming Case Change section for important information. Basic Synchronization Options For Intelligent Synchronization profiles please see this section of the help file. First Advanced Settings Group The first group of settings on this page let you decide what SyncBackPro should do for situation 1, i.e. when a file is in the source and destination, but they are not the same file: · Source overwrites destination always (backup): A file from the source directory will always replace a file in the destination directory. Choose this option when doing backups. · Destination overwrites source always (restore): A file from the destination directory will always replace a file in the source directory. · Newer file overwrites older file (synchronize): The newer file will replace the older file, i.e. the file last modified replaces the older file. Choose this option when synchronizing directories. If the files have the same date & time then they are skipped. However, if it is an Intelligent Synchronization profile, and the dates and times are the same, and it knows which file was changed, then the changed file will replace the unchanged file. · Older file overwrites newer file: The older file will replace the newer file. This is the exact opposite of the previous option. If the files have the same date & time then they are skipped. · Larger file overwrites smaller file (skip if same size): The larger file will replace the smaller file (and no copy is made if they are the same size). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 180 · Smaller file overwrites larger file (skip if same size): The smaller file will replace the larger file (and no copy is made if they are the same size). This is the exact opposite of the previous option. · Prompt me (skips file if run from command line): If both files have been changed then you are prompted and will be able to decide what to do. Note that if SyncBackPro is run from the command line, or from the Windows Task Scheduler, then no prompt will appear and the file will not be copied. · Do nothing, skip the file: In this case no file is copied and nothing is done. · Move the file instead of copying it: The file will be moved from the source to the destination. Note that this option is not always available, e.g. if your profile is a Fast Backup profile. Second Advanced Settings Group The second group of settings on this page let you decide what SyncBackPro should do for situation 2, i.e. when a file is in the source but not the destination: · Copy file to destination: The file is copied from the source to the destination. · Move file to destination: The file is moved from the source to the destination. Note that this option is not always available, e.g. if your profile is a Fast Backup profile. · Delete file from source if it hasn't been modified within the last x days: The file is deleted from the source. If the days value is greater than zero then the file is deleted from the source only if it has not been modified in that number of days. If this option enabled, and the days value is greater than zero, and you have versioning enabled, then a warning is displayed. This is for two reasons: deleted files may be kept longer than you think (as the file is not deleted for x days, then the version itself won't be deleted until the versioning requirements are met), and secondly, you may not need this option if you are using versioning. · Prompt me (skips file if run from command line): You will be prompted on what action to take. Note that if SyncBackPro is run from the command line, or from the Windows Task Scheduler, then no prompt will appear and the file will be ignore. · Do nothing, skip the file: Nothing will be done and the file will be ignored. Third Advanced Settings Group The third group of settings on this page let you decide what SyncBackPro should do for situation 3, i.e. when a file is in the destination but not the source: · Copy file to source: The file is copied from the destination to the source. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 181 SyncBackPro Help · Move file to source: The file is moved from the destination to the source. Note that this option is not always available, e.g. if your profile is a Fast Backup profile. · Delete file from destination if it hasn't been modified within the last x days: The file is deleted from the destination. If the days value is greater than zero then the file is deleted from the destination only if it has not been modified in that number of days. If this option enabled, and the days value is greater than zero, and you have versioning enabled, then a warning is displayed. This is for two reasons: deleted files may be kept longer than you think (as the file is not deleted for x days, then the version itself won't be deleted until the versioning requirements are met), and secondly, you may not need this option if you are using versioning. · Prompt me (skips file if run from command line): You will be prompted on what action to take. Note that if SyncBackPro is run from the command line, or from the Windows Task Scheduler, then no prompt will appear and the file will be ignore. · Do nothing, skip the file: Nothing will be done and the file will be ignored. Fourth Advanced Settings Group The fourth group of settings on this page let you decide what SyncBackPro should do for situation 4, i.e. when two files have identical contents but the case of the filenames are different or the properties are different, e.g. the last modification date & time are different. See the Renaming Case Change section for important information. On some file systems changing the case of a file or a folder may not work. For example, changing the name from case to CASE may do nothing. If so, this is a limitation of the file system itself. · Rename file on source and copy properties to source: The file is renamed on the source so that it becomes the same as the destination filename. If any properties are different then they are also copied to the source. · Rename file on destination and copy properties to destination: The file is renamed on the destination so that it becomes the same as the source filename. If any properties are different then they are also copied to the destination. · Prompt me (skips file if run from command line): You will be prompted on what action to take. Note that if SyncBackPro is run from the command line, or from the Windows Task Scheduler, then no prompt will appear and the file will be ignored. · Do nothing, skip the file: Nothing will be done and the differences in filename case will be ignored. This is the default action. · Automatic: The appropriate file is renamed and the properties are copied to that file. Which file is renamed? It depends on what type of backup location you are using and the type of profile you have. If you are using FTP, compressing to a single Zip file, an email server, or the cloud, then it will rename the file stored on a disk or network drive. If you are copying to © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 182 and from a disk or network drive then it will rename the destination file if it's a backup or mirror to the destination. If it's a backup or mirror to the source then it will rename the source file. Fast Backup If you are using Fast Backup then you must keep in mind that SyncBack does not scan the destination unless it is a rescan. For example, if you are using a Fast Backup profile that uses the archive attribute, and it is not a rescan, and you've configured the profile to delete destination only files, then it does not know what files are in the destination. This means if you create a new file in the destination, or delete a file from the source, then it will do nothing. If you are using a fast backup that does not use the archive attribute, and it is not a rescan, and you've configured the profile to delete destination only files, then it works slightly differently than the archive attribute method. This is because SyncBack keeps track of what files were previously in the source (which should therefore be the same as the destination). If you delete a file from the source, and there is an equivalent destination file, then it will delete the destination file. However, if you create a new file in the destination then it will not be deleted. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.14 Decisions, Folders These settings are related to how empty folders are created & deleted and how case changes are handled. Note that if a file is created then obviously its folder must also be created (to contain the file). By default it is handled automatically (based on your file decisions). If you are using an Intelligent Synchronization profile then you are given different options on what to do when a directories case is changed. What to do if a directory exists on source/left but not on destination/right · Create directory on destination/right: Folders only on the source/left will be created in the destination/right. · Delete directory from source/left (if empty): If the folder is empty it will be deleted from the source/left. Note that the folder will not be deleted if it has files in it, including any hidden files or file versions. You can configure which files SyncBackPro can automatically delete to make a folder empty on the Copy/Delete Folders page. · Delete directory from source/left only if a file is moved/deleted from it: In some cases you may only want a folder to be deleted if a file was deleted/moved from it. As above, the folder must be empty for it to be deleted. · Prompt me (skips folder if run unattended): You will be prompted on what action to take. · Do nothing: Nothing will be done. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 183 SyncBackPro Help · Do nothing and ignore changes: This option is only available for Intelligent Synchronization profiles. If enabled then nothing will be done and the changes will not be recorded. · Automatic: SyncBackPro will decide the best action to take based on your profile type. This is the default. What to do if a directory exists on destination/right but not on source/left · Create directory on source/left: Folders only on the destination/right will be created in the source/left. · Delete directory from destination/right (if empty): If the folder is empty it will be deleted from the destination/right. Note that the folder will not be deleted if it has files in it, including any hidden files or file versions. You can configure which files SyncBackPro can automatically delete to make a folder empty on the Copy/Delete Folders page. · Delete directory from destination/right only if a file is moved/deleted from it: In some cases you may only want a folder to be deleted if a file was deleted/moved from it. As above, the folder must be empty for it to be deleted. · Prompt me (skips folder if run unattended): You will be prompted on what action to take. · Do nothing: Nothing will be done. · Do nothing and ignore changes: This option is only available for Intelligent Synchronization profiles. If enabled then nothing will be done and the changes will not be recorded. · Automatic: SyncBackPro will decide the best action to take based on your profile type. This is the default. Automatic The decision SyncBackPro makes for the Automatic option depends upon the type of profile: · Backup (copying files from source/left to destination/right): Folders only in the source/left will be created in the destination/right. Folders only in the destination/right are deleted (if empty). · Restore (copying files from destination/right to source/left): Folders only in the destination/right will be created in the source/left. Folders only in the source/left are deleted (if empty). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 184 · Intelligent Synchronization: Folders only in the source/left will be created in the destination/right, and vice-versa. However, if a folder was deleted from the source/left then it will be deleted from the destination/right, and vice-versa. · Mirror Right (copying files from source/left to destination/right, deleting files only in destination/right): Folders only in the source/left will be created in the destination/right. Folders only in the destination/right are deleted (if empty). · Mirror Left (copying files from destination/right to source/left, deleting files only in source/left): Folders only in the destination/right will be created in the source/left. Folders only in the source/left are deleted (if empty). · Old-style Synchronize (copying files to and from source/left and destination/right): Folders only in the source/left will be created in the destination/right, unless files only in the source/left are being deleted. If files only in the source/left are being deleted then folders only in the source/left are deleted (if empty). Folders only in the destination/right will be created in the source/left, unless files only in the destination/right are being deleted. If files only in the destination/right are being deleted then folders only in the destination/right are deleted (if empty). What to do if the properties or the case of the directories are different See the Renaming Case Change section for important information. A different set of options are available if this is an Intelligent Synchronization profile. See the section below for Intelligent Synchronization options when a directories case changes. On some file systems changing the case of a file or a folder may not work. For example, changing the name from case to CASE may do nothing. If so, this is a limitation of the file system itself. · Rename directory on source and copy properties to source: The directory is renamed on the source so that it becomes the same as the destination directory name. If any properties are different then they are also copied to the source. · Rename directory on destination and copy properties to destination: The directory is renamed on the destination so that it becomes the same as the source directory name. If any properties are different then they are also copied to the destination. · Prompt me (skips folder if run unattended): You will be prompted on what action to take. Note that if SyncBack is run from the command line, or from the Windows Task Scheduler, then no prompt will appear and the changes in directory case will be ignored. · Do nothing: Nothing will be done and the differences in directory case will be ignored. This is the default action. · Automatic: The appropriate directory is renamed. Which directory is renamed? It depends on what type of backup location you are using and the type of profile you have. If you are using FTP, compressing to a single Zip file, an email server, or the cloud, then it will rename © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 185 SyncBackPro Help the directory stored on a disk or network drive. If you are copying to and from a disk or network drive then it will rename the destination directory if it's a backup or mirror to the destination. If it's a backup or mirror to the source then it will rename the source directory. What to do if... See the Renaming Case Change section for important information. These options are only available for Intelligent Synchronization profiles. For other profile types see the section above (What to do if the case of the directory names do not match). · ...the properties or the directory name case of a directory on source/left has been changed (unchanged on destination/right): The case of the source directory name or its properties have been changed so that it is no longer the same as the destination. For example, the source directory was previously called abc but has been renamed to ABC. See the Renaming Case Change section for important information. · ...the properties or the directory name case of a directory on destination/right has been changed (unchanged on source/left): The case of the destination directory name or its properties have been changed so that it is no longer the same as the source. See the Renaming Case Change section for important information. · ...the properties or the directory name case of a directory on both source/left and destination/right are different: The case of both the source and destination directory name or their properties have been changed and they are not the same. See the Renaming Case Change section below for important information. · When prompting, and the run is unattended, ignore the changes: For some of the decisions you may have chosen to be prompted. However, if the profile is being run unattended then you cannot be prompted. In this case the directory change is ignored and a warning is recorded in the log file. With an Intelligent Synchronization profile you may want SyncBack to ignore the changes. See the Ignoring Changes section for important details on what this means. If you get the error "Failed to rename to [new directory name] : The process cannot access the file because it is being used by another process" it is because another process is currently using the directory that needs to be renamed. For example, a program may be using a file that is in the directory that needs to be renamed. You must close the process/program that is using that directory. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 186 All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.15 FTP SyncBackPro uses a modern FTP engine that take advantage of newer FTP standards and extensions, e.g. SFTP ( Pro version only), FTPS, XCRC, XMD5, XSHA1, XSHA256, MODE Z transmission compression, UTF8, MFF, RMDA and AVBL and SSL/TLS transmission encryption. This increases performance and compatibility with FTP servers. The FTP options are not available when the destination/right is using the cloud, email, Touch or scripting. This profile settings page can use and create shared settings. An alternative to using FTP is SyncBack Touch. Touch is far simpler to setup and configure and has none of the compatibility issues that you may get with FTP servers. FTP Servers and File Dates and Times When SyncBackPro transfers a file to an FTP server it will try and set the last modification date & time of the file so that it matches the date & time of the local file. However, many older or basic FTP servers simply do not provide the functions to perform this. There are standards for communicating with FTP servers, but not all FTP servers follow those standards, or they implement them incorrectly. There are also many FTP features which are optional, and one of those optional features is setting the last modification date & time of files on the FTP server. This is not a limitation of SyncBackPro, but of the FTP server. SyncBackPro has an advanced FTP engine that will try several methods to set the last modification date & time of files on an FTP server: 1. If the server supports the MFF or MFMT extensions then those will be used (this does not apply to SFTP servers) 2. If the server supports the SITE UTIME extension then that will be used (this does not apply to SFTP servers) 3. If the server supports the MDTM extension then that will be used. Note that there are two forms of the MDTM extension: one to get a files date & time, and one to set a files date & time. Many FTP servers support retrieval of a files date & time, but fewer also support setting of a files date & time using MDTM. This does not apply to SFTP servers. 4. If the server supports none of the above then there are two options: have SyncBackPro change the date & time of the local files to match the date & time of the file on the FTP © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 187 SyncBackPro Help server (which will be the date & time the file was transferred to the FTP server), or change the profile to a Fast Backup profile. With a Fast Backup profile it will not set the date & time of the files on the FTP server, but it will avoid any problems with the dates & times being different. SFTP servers only support one way to set a files date & time. However, some SFTP servers do not implement the feature, in which case see point 4 above. FTP Servers and File Permissions When SyncBackPro uploads a new file to an FTP server the FTP server itself sets the default file permissions for the file. Typically that is 0644, which means read & write for the file owner, read for the group and read for other users. The default new file permissions are an FTP server setting. Refer to your FTP servers documentation to change this. If you use safe-copy (which is the default) then SyncBackPro uploads files to a temporary file, which means they get the default file permissions from the FTP server. SyncBackPro then replaces the existing file with the temporary file. SyncBackPro will then set the file permissions to what they were previously (if they FTP server supports the CHMOD extension). This takes time. Because of this it is recommended safe-copy is not used with FTP unless you need it, e.g. you are using versioning. FTP Servers and Filenames Windows has restrictions on which characters can be used in a filename. It does not allow filenames to contain the following characters: * ? : " < > | However, some systems, e.g. UNIX, have no such restrictions on which characters can be used in a filename. Because of this, when FTP is used, by default SyncBackPro will automatically convert the filenames so that they are valid for the system they are on. For example, if a file is copied from FTP which has the filename This * is <> an example? then when copied to Windows it will have its filename changed to This %2A is %3C%3E an example%3F. When the same file is copied back to the FTP server it's name will be changed back to This * is <> an example? You can switch off automatic filename translation on the FTP -> Advanced settings page. The table below shows which characters are converted to and from which codes: Original Characters : * ? " < Code Used %3A %2A %3F %22 %3C © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 188 > | (trailing space) %3E %7C %20 FTP Server Connection Details · Destination/right files are on an FTP server: If ticked, then the destination/right is an FTP server, i.e. you are backing up to or synchronizing with an FTP server. If the destination is an SFTP server, or an SFTP server ( Pro version only), then enable the option This is an SFTP server below. If you are backing up files to a compressed Zip file on an FTP server then please read the Fast Backup section for tips on getting the best results. · Hostname: This is the hostname of the FTP server that has the destination directory on it, e.g. ftp.myserver.com. Variables can be used. Note that you must just use the hostname or IP address. Do not enter an URL, e.g. ftp://ftp.myserver.com/folder/ · Enable IPV6 support: If you can only connect to your FTP server using IPV6 then enable this option, otherwise it is not recommended to enable it. · Username: Your server login username. Variables can be used. Note that typically usernames are case sensitive. If you do not enter a username then SyncBackPro will not login to the server. This may be required when using a proxy server. · Password: Your server login password. If you are using an SFTP server with key authentication ( Pro version only) then you can leave this blank. If you prefer to be prompted for the password (see the next option) then this edit box is disabled. Note that typically passwords are case sensitive. · Prompt for the password when run (profile will fail if run unattended): If this option is enabled then every time the profile is run SyncBackPro will prompt you for the password. If the profile is being run unattended, then no prompt will be displayed and the profile run will fail. · FTP Engine: By default the WeOnlyDo engine is used. A number of different engines are available to provide maximum compatibility with the thousands of different FTP server implementations. Note that SmartFTP will be removed in future versions and is not available when creating new profiles. · This is an SFTP server (port 22): If the FTP server is an SFTP server then tick this checkbox. In many cases the root folder, or login folder, for an SFTP login is different from FTP. If you switch from SFTP to FTP, or vice-versa, it is strongly recommended that you check to make sure the directory is still valid. When using SFTP it is often the case that you have access to all the directories on the server, but with FTP it is typically the case that you only have access to a sub-directory that is pretending to be the root directory (for security reasons). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 189 SyncBackPro Help · SFTP Private Key: If you are using an SFTP server ( Pro version only) with key authentication then this is the filename of the private key file (do not use the public key file). Variables can be used in the filename. Note that SyncBackPro may have problems with keys created by some programs. For example, it may have problems with key files created using openSSH but not with PPK created using Putty. Please see the SFTP and Keys section below for more details. · SFTP Private Key Password: If the private key file requires a password to be used then enter the private keys password here. · If the FTP server cannot set a files date & time then change the local files date & time to match that on the server: SyncBackPro will force the date & time of the file on the FTP server to match that of the file on your PC. If it cannot set the time of the file on the server, and this option is ticked, then it will change your local files date and time. However, if this option is not ticked (the default) then the date and time of the file on the FTP server is not changed and neither is the local files date & time. If the FTP server cannot set a files date & time, and you do not want to change your local files dates & times, then the solution is to use a Fast Backup profile. Once all the appropriate FTP settings have been set, you can test them by clicking the Test FTP settings button. SyncBackPro will then attempt to connect and login to the FTP server with its progress being shown in the window below the button. SFTP and Keys There are two possible sets of keys used when connecting to an SFTP server: 1. If your SFTP server is configured to perform user validation using keys then you need to create a public and private key pair (using 3rd party software, e.g. Putty). You must upload the public key to the SFTP server and configure the SFTP server to use it. Check the documentation of your SFTP server for details. For your SyncBackPro profile you must set it to use the private key you created. The public key stays on the SFTP server and is not used by SyncBackPro (your SFTP server uses it). 2. To ensure you are connecting to the correct SFTP server then you can set the server host key in the profile. This is not the public key that you stored on the SFTP server and nor is it the public key that goes with your private key. It is the servers own public key. If you have the servers public key then you can load it directly into your SyncBackPro profile. If you do not have the servers public key (which is normally the case) then you can click the Test FTP settings button to get it. Whenever the profile is run it will check the SFTP servers public key to ensure it is connecting to the correct server. For reference, on UNIX based systems, the public key is usually located in the file /etc/ssh/ssh_host_rsa_key.pub. However, if you are sure you are connecting to the correct SFTP server then it is simpler and less error prone to click the Test FTP settings button to get it automatically. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 190 3.3.16 FTP, Advanced · Port: The port number of the FTP server. Most FTP servers use port 21, except when using Implicit SSL/TLS encryption in which case most FTP servers use port 990. Most SFTP servers users port 22. If you set the port number to zero then the default port will be used based on the settings. · Reconnect Attempts: Whenever the connection to the FTP server is lost, for whatever reason, SyncBackPro will reconnect and resume from where it left off. This is done in the background and does not require any user intervention. This setting specifies the number of attempts SyncBackPro should make to reconnect to the FTP server before it gives up. Note that this number refers to sequential attempts, not the total number of attempts that may be made over the entire profile run (i.e. once a reconnection is made the attempt counter is reset back to zero). This value is also used for the initial connection attempt, so if it is set to 1, and no connection can be made, then the profile will fail instead of trying again. · Seconds Between Attempts: The number of seconds SyncBackPro should pause before making another attempt to reconnect to the FTP server. · Read timeout (seconds): In some situations, e. g. when the connection is dropped, an FTP server may not respond to requests from SyncBackPro. This setting tells SyncBackPro how long to wait (in seconds) for an answer from the server whenever one is required. By default SyncBackPro will wait for 60 seconds before disconnecting and reconnecting to try again. · Scan threads: When SyncBack scans an FTP server, to see what files and folders are there, it does it one folder at a time on a single connection. This reduces the load on the FTP server, and in some cases, FTP servers only allow one connection at a time from a user. However, if you are allowed multiple simultaneous connections to an FTP server, and server load is not an issue, then you can configure SyncBack to use multiple connections to scan the FTP server. This can drastically reduce the scanning time, but results can vary. You will get the best results when you have multiple folders. Multi-threaded FTP scanning will not improve performance if you are only scanning the contents of one folder that only contains files. The maximum number of threads is 32. · Worker threads: Performance can be significantly improved by using multiple worker threads. A worked thread is basically another connection to the FTP server which is used to delete, upload and download files in parallel (at the same time). It does not upload or download large files using multiple connections (e.g. as done with some cloud storage services). Instead, it will upload or download multiple files at the same time (with each upload/download using one thread). Note that increasing this value too high can slow down the profile. It is also likely that the FTP server has a limit on the number of connections a user can have. Note that in some circumstances SyncBackPro will not use worker threads, e.g. if runtime scripts are used. CompleteFTP (Professional and Enterprise Editions V12.1.0 or newer) includes a feature to enable single-call directory scanning (see the Folder-tree file setting in the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 191 SyncBackPro Help Details section of CompleteFTP). SyncBackPro will automatically use this feature if it is available, resulting in considerably faster scanning of the FTP server. Concurrent Download If you are using the Eldos FTP Engine, and are not using SFTP, then you can use concurrent downloads. If the Threads value is greater than 1 then files larger than the Minimum size will be downloaded using multiple threads. This feature is useful when downloading multiple large files. This setting is different from Worker threads as that downloads multiple files at the same time where as this setting downloads a single large file using multiple threads. If concurrent downloads is used along with worker threads then files that will be downloaded concurrently will not be downloaded in worker threads. Note that this feature may not improve performance and may actually reduce it. It is only useful where the FTP server limits the outgoing bandwidth per connection. · Threads: The number of concurrent threads to use. The minimum and default value is 1 (meaning concurrent downloads will not be used), with the maximum being 10. · Minimum size: Files this size or larger (MBytes) will be downloaded concurrently. The minimum and default value is 5. Encryption and compression options Note than none of these options are available when using an SFTP server as they are not applicable. · Encrypt the communication channel: If enabled the communication channel will be encrypted (FTPS). This means that all commands sent to and received from the server will be encrypted, e.g. the password is encrypted. Note that this does not encrypt any file communication. For that you need to enable the option Encrypt the data channel. If the FTP server does not support encryption then this option and all the encryption settings are ignored. If you're using FTPS with a scheduled profile then the schedule must be set to use a password. · Client certificate to use: If FTP encryption is being used then you can use this setting to specify which certificate SyncBack should use (or if one should be used at all). The certificate list is taken from the Personal certificates installed on the computer. · Encrypt the data channel: If enabled the data channel will also be encrypted. Note this will significantly slow down the profile. For the data channel to be encrypted you must have the communication channel encrypted. · Use implicit connection (port 990): If enabled an implicit SSL connection will be made (most FTP servers use port 990 for implicit connections). If disabled, an explicit SSL © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 192 connection is made (most FTP servers use the standard FTP port 21 for explicit connections). This option is not available when using an SFTP server. · Do not fallback to an unencrypted connection: By default if SyncBack cannot connect to the FTP server using an encrypted connection then it will fallback to an unencrypted connection. However, if you want the connection to only be encrypted then enable this option. · Reduce bandwidth by using compression (MODE Z): To increase performance on slower networks enable this option. It will transmit data to and from the server in compressed form to reduce the send and receive time. Note that this option requires that the FTP server supports the MODE Z FTP extension. If not, this option will be ignored. Also note that enabling this option when the FTP server is on a LAN will actually decrease performance. · SFTP Host Key: If you are using an SFTP server ( Pro version only) then this is the MD5 fingerprint of the servers public key (it is not the public key related to your login private key ). If you have the servers public key then you can load it to have it set. If you do not have the servers public key (which is normally the case) then you can click the Test FTP settings button and accept the public key that is received from the SFTP server. Whenever you connect to the SFTP server then SyncBackPro will check to make sure that the public key received by the SFTP server is the one expected. If not you will be prompted to either accept it or not. If the profile is run unattended then the profile will abort if they do not match. If you have not set a public key then the profile will prompt, or if run unattended it will continue running the profile. If you have the servers public key in a file then you can load it by clicking the folder icon. It is important to remember that this public key (the host identity key) is not related to the private key or user specific. All users connecting to the SFTP server get the same public key from the server. Please see the SFTP and Keys section for more details. Note that DSA public keys over 1024 bits in size are not supported. RSA keys of up to 4096 bits are supported. If your SFTP server is using a DSA key over 1024 bits in size then enable the setting If the DSA key is too large to verify then silently accept it. Misc. · Limit bandwidth usage to...: This option lets you restrict the amount of bandwidth used for the FTP connection. For example, you may also be using the network for other things the same time the profile is run and do not want the profile to use all available bandwidth on the network. The option is not available for all FTP engine types. · Quote Character: If your FTP server supports wrapping quotes around filenames, e.g. if they have spaces, then enter the quotation character here. If your FTP server does not require or support quoting (most do not) then leave this empty. In most cases uses any value here will cause problems. This option is not available when using SFTP. · Server timezone: If the FTP server is in a different timezone then enter the number of minutes difference from GMT/UTC, e.g. +120 (meaning 120 minutes ahead of GMT/UTC), - © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 193 SyncBackPro Help 60 (meaning 60 minutes behind GMT/UTC). SyncBackPro will ignore this setting if the FTP server reports the timezone it is in. However, you can force SyncBackPro to use this setting by prefixes an exclamation mark, e.g. !+120. Generally you do not need to enter a value, but in case the FTP server is incorrectly changing the date & times of files then you can correct it here. This option is not relevant and is ignored if your FTP server supports the MFMT or SITE UTIME extensions. See also the MDTM syntax and Self-correct settings. This option is not available when using SFTP. · Use Unicode (UTF8): This setting tells SyncBackPro to either use or not use the UTF8 extension on the FTP server. Some FTP servers do not correctly support UTF8 so you may wish to tell SyncBackPro not to use it. Also, some FTP servers do support it but don't tell FTP clients that they can and do support it. · MDTM syntax: In most situations it's best to leave this setting as Default. However, some FTP servers may require that a different command format be used. The MDTM command is used to set the last modification date & time of a file on the FTP server. This option is not relevant and is ignored if your FTP server supports the MFMT or SITE UTIME extensions. See also the Server timezone and Self-correct settings. This option is not available when using SFTP. · Do not use MLST and instead use LIST (not recommended): Modern FTP servers support more advanced methods of returning directory listings (via the MLST command). Such listings have a defined format that is designed for machine parsing. Older FTP servers often only support the old method of returning directory listings (via the LIST command, which is designed to be human readable and so is difficult to parse and often contain less information). In rare cases the output from the MLST command is invalid or corrupted and so cannot be used by SyncBack. If so, try enabling this option (and also see the following two settings). This option is not available when using SFTP. · Use custom LIST command (not used if server uses MLST): When requesting directory listings from the FTP server, and the LIST command is being used, then you can optionally define the LIST command to be sent to the FTP server. By default the command is LIST -la. This option is not available when using SFTP. When using DevArt this must be the parameters to send to the LIST command and cannot be a different FTP command. If the custom command you use is prefixed by LIST then it will be automatically removed. For example, if you use the custom command XYZ -123 then LIST XYZ -123 is sent to the FTP server. · Use alternative file list parser: If SyncBackPro is unable to parse the directory listings, e.g. the FTP server is old or rare, then try enabling this option. If enabled SyncBackPro will try other parsers to see if it can read the directory listings. It will also use the Server timezone setting with any file modification dates & times (unless MLST is being used). This option is not available when using SFTP. · Self-correct when setting a files date and time: Unfortunately many FTP servers do not set the correct date & time of a file, e.g. they incorrectly assume the date & time given to them is a local date & time. To avoid these kinds of problems you can ask SyncBackPro to check to see if the server is setting the dates & times correctly, and if not, to compensate. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 194 Note, however, that this is not always possible (it will not work on some old or basic FTP servers). · Server requires Allocate command: Some (old) FTP servers require that the FTP client reserve disk space before transferring files to the server. In general, the majority of FTP servers do not require or support this. This option is not available when using SFTP. · Force binary transfers: To increase performance SyncBackPro will not tell the FTP server it wants to transfer files in binary mode before every file is transferred. If this option is not enabled (default) then it will tell the FTP server to use binary mode immediately after the connection is made, and it will not tell it again. If this option is enabled then SyncBackPro will force the FTP server into binary mode before every file transfer. This will increase profile run times but may be required for some FTP servers. This option is not available when using SFTP. · Use the HOST command as this is a virtual host: Some FTP servers, usually when using the Microsoft IIS FTP server, are virtual hosts, meaning the server hosts multiple web sites. In this case, when SyncBackPro connects to the server it needs to tell the FTP server which host it needs to use (by using the HOST command). By default, this option is not enabled, and if it is enabled, and the server is not a virtual host, then it may stop SyncBackPro from connecting. This option is not available when using SFTP. · Automatically translate invalid filenames: By default SyncBackPro will translate filenames so they are compatible with Windows file systems. See this section for details. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.17 FTP, Proxy · I use a proxy server: If you must use a proxy server to connect to external FTP or SFTP servers then you must enable this option. · Hostname: This is the hostname of the proxy server, e.g. proxyserver.com. Variables can be used. · Username: Your proxy login username. If you do not need to login to your proxy server then leave this blank. Variables can be used. · Password: Your proxy login password. If you do not need to login to your proxy server then leave this blank. · Port: The port number of the proxy server. This value varies depending upon the type of proxy server software used. Although "1" is the default, it will almost certainly not be this number. · Proxy Type: This setting defines what type of proxy server you are using. It is important the correct setting is used otherwise SyncBackPro will not be able to login to your proxy server. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 195 SyncBackPro Help Check with your Network Administrator on which proxy setting to use. This setting may not be available, depending on the FTP engine being used. Note that the choice of proxy server types is more limited when using SFTP because some proxy servers are not applicable to SFTP. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.18 FTP, Firewall Note that none of these settings are available when using SFTP as they are not applicable. · Passive: If you are behind a firewall then you may need to enable this option. If SyncBack can login to the FTP server, but cannot transfer files or retrieve a folder listing, then try enabling this option to see if it fixes the problem. Passive FTP connections mean that the FTP client (SyncBack) connects to a TCP/IP port opened on the server when transferring data. Active connections (i.e. not passive) mean that the FTP server connects to a TCP/IP port opened on computer running the FTP client (SyncBack) when transferring data. So with an active connection you need to configure your firewall to allow inbound connections. The settings below relate to that. · Try to keep the connection alive during file transfers: It is not recommended that this option is used. Use of this option with many FTP servers can cause odd errors (because the commands sent to the FTP server, and the replies given by it, can become "out of sync"). If this option is enabled then when files are sent to, or received from the FTP server, a NOOP command is sent to the FTP server every 30 seconds. In some rare cases this can stop the FTP server from assuming the connection has been broken during long file transfers. However, in the majority of cases the use of this option instead causes more problems. · Use Clear Command Channel (CCC): Choose this option if you are behind a firewall or router that uses NAT (Network Address Translation) and you are having connection problems. Some routers can dynamically change the FTP communication to translate I.P. addresses but this can only be done if that part of the FTP communication is not encrypted. This setting is only used with encrypted connections. · For passive connections, always use the servers IP address: This option is only available with passive connections. By default, the IP address returned in the PASV reply is used to communication with the server. However, if this option is enabled the IP address of the connection is used. This is useful when the FTP server has not been configured correctly for passive connections and is returning it's LAN IP address instead of it's Internet (External) IP address. · Port mode for active connection: This option is only used with active (not passive) connections (see above). If you are behind a router, and are using NAT (Network Address Translation), then you may need to specify your external I.P. address. There are three choices: default, manual and automatic. Default means the I.P. address of your computer is used. This is very likely to be wrong, but it is possible your router will try to automatically fix this. Manual means you specify the I.P. address to use (see the External I.P. address © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 196 setting below). Automatic means it will try and determine what your external I.P. address is by querying your router (if it's UPnP enabled), and if that fails it will use an external web site to retrieve it. This setting is not available with all FTP engines. · External I.P. address: This option is only enabled if it is an active (not passive) connection and the port mode is set to manual. This is usually the I.P. address of your router and is not a local I.P. address. Variables can be used. Also, it is not available with all FTP engines. · Use ports ranging from...: If you are behind a firewall then this is the range of TCP ports that you must open on your firewall to allow the FTP server to contact SyncBack. If the ports are not open then files cannot be transferred and directory listings will fail. This option is only used with active connections (because with a passive connection the FTP server must be configured to specify which ports it tells the FTP client, SyncBack, to use). Also, it is not available with all FTP engines. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.19 Cloud You are strongly advised to use a linked cloud account. This profile settings page can also use and create shared settings. SyncBackPro can backup and synchronize files with the following cloud storage services: · Amazon S3TM (and files stored on GlacierTM via Amazon S3, as well as storage types such as One-Zone Infrequent Access) · BackblazeTM B2 · Box · Citrix ShareFileTM · DropboxTM (including support for Dropbox Business) · EgnyteTM · Google DriveTM (including support for Team Drives) · Google StorageTM · Google PhotosTM. This cloud service has its own settings page. · hubiCTM · Microsoft AzureTM (including support for Hot, Cool and Archive Tiers) · Microsoft OneDriveTM · Microsoft OneDrive for Business (Office 365) · Microsoft SharePointTM (Office 365) · OpenStack compatible services, e.g. RackspaceTM · OVHTM (via Rackspace/OpenStack) · pCloudTM · SugarSyncTM · WebDAV © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 197 SyncBackPro Help This means your files will be securely stored on their servers, and having an offsite backup of your files is highly recommended. Before you can use this feature you must create an account on the relevant cloud storage service. Once you've created an account you will receive your account details which you will need to use their service. There are some cloud services which are compatible with Amazon S3. To use such a service with SyncBackPro you simply need to set the Cloud Service and Service URL as appropriate. Important: It is highly recommended that you use a linked cloud account when using cloud services. This is especially important if you're using BoxTM. The exception to this is when using multiple profiles in parallel with the same Egnyte account (see below for details). · Destination/right files are on a cloud storage server: If ticked, then the destination/right is a compatible cloud storage service, i.e. you are backing up to or synchronizing with a cloud service. Server Connection Details · Cloud Service: Select the appropriate type of cloud storage service that is to be used. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 198 o The cloud service forces file versioning: Some cloud services forcibly enable their own file versioning. Click this link to go to the Versioning settings page to configure automatic purging of excess versions files. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 199 SyncBackPro Help o S3 compatible service: If you are using an S3 compatible cloud storage service, e.g. DreamObjects, S3for.Me, Oracle Cloud, etc. then tick this checkbox. This switches off certain features that are usually only available on the Amazon S3 servers themselves. o Use Identity V3 API (required for some OpenStack services): If you are using an OpenStack compatible cloud storage service then you may need to tick this checkbox. Check with your cloud service if you are not sure. o Use my Dropbox Teams root folder (only valid when using Dropbox Business): If you are using Dropbox Business, and want SyncBackPro to copy files and folders from your teams root folder (instead of your home folder), then select this option. Note that your home folder is a folder within your teams folder. Your home folder typically contains only your personal files and folders, whereas the teams root folder has your home folder as well as team folders (which are folders shared between members of your team). If you change this setting then the cloud database will be deleted. You will also need to change your file & folder selections. o Ignore OneNote files: If you are using OneDrive Personal, OneDrive for Business or Sharepoint, and want SyncBackPro to ignore OneNote files stored on the cloud storage service, then select this option. · Service URL: If you are using Amazon S3 or Microsoft Azure then it is recommended that you leave this setting as [default]. You only need to change this setting if you are using a service which is compatible with Amazon S3 or Microsoft Azure. For example, DreamObjects is an S3 compatible service. In these cases you must use the URL supplied by the compatible service (otherwise it would connect to the Amazon or Microsoft servers). If you are using OpenStack then you must enter the services Identity V2 URL (the authorization URL). If you are using Microsoft Azure, and want to use a Shared Access Signature (SAS), then supply it here. Note that it must include the container. · Site Path / Domain: If you are using SharePoint, and you want to access a path or subsite within your site, then enter the path to it here. For example, if you want to access https://mycompany.sharepoint.com/path/to/destination then enter path/to/destination. Another example, if you want to access https://mycompany.sharepoint.com/subsite enter subsite. This setting is optional, and if you don't want to access a path or sub-site, then you should leave it as [default]. For Egnyte, you need to supply your domain name (not the entire URL, e.g. mydomain and not mydomain.egnyte.com). · Project ID: If you are using Google Storage, then enter the project ID here. You can retrieve your project ID from your Google Storage console. · Tenant / Project: If you are using an OpenStack compatible cloud service then you may need to specify a tenant/project. Check with your cloud service if you are not sure. · Username / Access Key ID / Account Name / Account ID: Depending on the cloud service, this is essentially the cloud login username. On Amazon S3 this is called the access key you want to use to connect to the S3TM service. Microsoft AzureTM calls this the account. This setting is not relevant for some cloud services, e.g. Google DriveTM. For those cloud services you should use a linked cloud account or click the Authorize button. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 200 With Google Storage you can use a Service Account Private Key file instead of OAuth authentication. This is recommended as it allows for parallel file transfers. · Password / Secret Access Key / Primary Access Key / API Key / Application Key / Access Token: Depending on the cloud service, this is essentially the cloud login password. On Amazon S3 this is called the secret key. Microsoft Azure calls this the access key. You can optionally have SyncBackPro prompt you for the password instead of entering it here. This setting is not relevant for some cloud services, e.g. Google DriveTM. For those cloud services you should use a linked cloud account or click the Authorize button. · Prompt for the password when run (profile will fail if run unattended): If this option is enabled then every time the profile is run SyncBackPro will prompt you for the password. If the profile is being run unattended, then no prompt will be displayed and the profile run will fail. This setting is not relevant for some cloud services, e.g. Google DriveTM. · Use encrypted (https) connection: If this option is enabled then all communication with the cloud servers is encrypted. This does not mean the files are encrypted, it means that all the communication is encrypted. Note that encrypting the connection may reduce performance. If you want to store your files encrypted you must use the encryption settings. This setting is not relevant for Google DriveTM, OneDriveTM, DropboxTM or Box because an encrypted connection is always used. · Use my account: This button is not relevant for some cloud services, e.g. Amazon S3TM. For the other cloud services (e.g. Google DriveTM) then by clicking this button you are setting the profile to use your linked cloud account. · Authorize: This button is not relevant for some cloud services, e.g. Amazon S3TM. For the other cloud services (e.g. Google DriveTM) you must click this button to allow SyncBackPro to connect to your cloud service. Depending on the cloud service you'll need to login to your cloud service via a web browser then enter an authorization code into SyncBackPro. It is strongly recommended that you use a linked cloud account. · Delete DB: This button is not relevant for some cloud services, e.g. Amazon S3. SyncBackPro keeps a local (and optionally remote) database for storing the details of the files on the cloud service. This database is used to store details that cannot be stored on the cloud service. For example, some cloud services do not allow the last modification date & time of a file to be changed. To get around such limitations SyncBackPro keeps a record of what those details are. By clicking this button SyncBackPro will delete the local and remote database. This means you will lose all the details stored in that database and so the next profile run may result in files being copied or deleted as the information to make those decisions has been deleted. · Bucket / Container / Library / Team Drive: On many of the enterprise cloud services, e.g. Amazon S3, all files must be stored within a bucket. Microsoft Azure has the same concept but calls it a container. Google Drive can optionally use a Team Drive (part of GSuite). SharePoint also uses Libraries, which are optional. You can have multiple buckets/containers (like you can have multiple drives on a computer) but a profile can only © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 201 SyncBackPro Help backup/sync with one bucket/container (other profiles can of course use other buckets/containers). An Amazon S3 bucket name must be globally unique (meaning nobody else can use the same bucket name). A Microsoft Azure container name does not need to be globally unique. Buckets/containers need to adhere to some naming restrictions (these are restrictions of the service and not of SyncBackPro): Amazon S3 bucket naming rules for buckets created outside of the US Standard location are: · Must be globally unique, i.e. you cannot have the same bucket name as someone else · The maximum length is 63 bytes and the minimum length is 3 bytes · Must start with a lowercase letter or a number · Can only contain lowercase letters, numbers, periods (.), and dashes (-) · Cannot contain consecutive periods, e.g. a bucket cannot be called bad..name · Cannot contain a dash next to a period, e.g. a bucket cannot be called bad.-name · Must end with a lowercase letter or a number · Must not be formatted as an IP address (e.g., 192.168.5.4) Amazon S3 bucket naming rules for buckets created in the default US Standard location have more relaxed bucket naming rules (see below). However, it is strongly recommended that you stick to the stricter naming rules as it gives you greater flexibility and compatibility with name servers, web sites, other utilities, etc.: · Must be globally unique, i.e. you cannot have the same bucket name as someone else · The maximum length is 255 bytes and the minimum length is 3 bytes · Can only contain letters (upper or lower case), numbers, periods (.), dashes (-), and underscores Microsoft Azure container naming rules are: · The maximum length is 63 bytes and the minimum length is 3 bytes · Must start with a lowercase letter or a number · Can only contain lowercase letters, numbers, dashes (-), and underscores · Cannot contain consecutive dashes, e.g. a container cannot be called bad--name · Should not end with a dash, e.g. a container cannot be called bad-name- Backblaze B2 bucket naming rules are: · Bucket names are globally unique. This means if another B2 user has created a Bucket named for example myphotos, then you cannot create a Bucket named myphotos · Each Backblaze B2 account can have a maximum of 100 Buckets. · Bucket names must be a minimum of 6 characters long and a maximum of 50 characters long. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 202 · Bucket names can be consist of numbers (0-9), letters (a-z) and the "-" (dash). No other characters are valid, including "_" (underscore). · Bucket name are case insensitive, meaning that "MYPhotos" is the same as "myphotos". · Bucket names that start with "b2-" are reserved by Backblaze and cannot be used Google Storage bucket naming rules are: · Bucket names must contain only lowercase letters, numbers, dashes (-), underscores (_), and dots (.). Names containing dots require verification. · Bucket names must start and end with a number or letter. · Bucket names must contain 3 to 63 characters. Names containing dots can contain up to 222 characters, but each dot-separated component can be no longer than 63 characters. · Bucket names cannot be represented as an IP address in dotted-decimal notation (for example, 192.168.5.4). · Bucket names cannot begin with the "goog" prefix. · Bucket names cannot contain "google" or close misspellings of "google". · Also, for DNS compliance and future compatibility, you should not use underscores (_) or have a period adjacent to another period or dash. For example, ".." or "-." or ".-" are not valid in DNS names. For Google Drive, you must use the Google web interface to create Team Drives (which are optional and part of the GSuite service). For SharePoint you must use the relevant Microsoft tools (or web services) to create Libraries (which are optional). On Amazon S3, it is possible to restrict a user from listing all the buckets. If so when you click the Refresh button then you will get an Access Denied error message. To manually add the bucket to the list right-click on the Bucket/Container list and select Add bucket from the pop-up menu. You can then manually type in the name of the bucket you want to use. Note that S3 is case sensitive so you should doublecheck that you have typed in the bucket name correctly. Empty folders and Amazon S3, Azure, Backblaze B2, OpenStack and Google Storage Cloud storage services Amazon S3, Microsoft Azure, Backblaze B2, OpenStack (Rackspace) and Google Storage, store files as objects. Each object has a unique name within its bucket or container. For easy reference, objects are named just like files on a local file system, e.g. \My Documents\Bank\statement.txt. The key difference is that the objects are not stored in folders, although they look like they are, and these cloud systems do not have folders. For example, you could have an object called \Level1\Level2\file.txt and another one called \Level1\Level2. They have no relationship to each other. You could delete \Level1\Level2 and \Level1\Level2\file.txt would still exist. Also, if you have an object called \Level1\Level2\file.txt it does not mean there is a folder \Level1\Level2 or \Level1. Some © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 203 SyncBackPro Help services give the impression, via their web interface, that you can create folders, but what they actually do is create empty objects to make it appear there is a folder. Because of this some options in SyncBackPro are not available when using these cloud systems. For example, you cannot create empty directories. Amazon S3 Bucket Names and Locations Files within a bucket can be accessed via a web browser, so you may want to keep this in mind when deciding on a bucket name (i.e. use the stricter naming rules). For example, if you created a bucket called companyname.com then you could access the files in that bucket using the URL http://companyname.com.s3.amazonaws.com/filename. By default files created in a bucket cannot be accessed via a browser because the default access policy is private. You can change this on the advanced settings page. Another important factor is that buckets are location dependent, which means the files in a bucket are physically located in a specific place. When you create a bucket you can choose its physical location. Obviously performance is going to be affected by where you are accessing the files in the bucket from and where the bucket is located. Amazon Glacier and Azure Archive objects Amazon S3 allows for objects to be moved to Glacier. In this situation an entry for the object is kept in S3 but the actual objects contents is stored in their Glacier archival system. Glacier objects cannot be manipulated using S3. All that can be done with them is to delete them or request a temporary copy for later retrieval. The temporary copy is automatically deleted by Amazon S3 after a user specified number of days (the original Glacier file is not deleted, just the temporary copy). As Glacier is an archival system it typically takes 3 to 5 hours for a temporary copy of the object to be retrieved. If a file is stored on Glacier, and needs to be accessed by SyncBackPro, then a request will be sent for a temporary copy of a file. An entry will be recorded in the log file to note this. When the profile is next run SyncBackPro will check to see if the temporary copy is available, and if so, it will use it as required. Azure has a similar feature with it's archive storage class, and it is handled by SyncBackPro the same transparent way as Glacier objects, i.e. a request is made to the cloud service to restore the object from cold/archive storage. Google Storage When creating a bucket in Google Storage there are three types of buckets that can be created: · Nearline: A Nearline bucket is similar to Amazon's Glacier. Nearline Storage enables you to store data that is long-lived but infrequently accessed. Nearline data has the same durability © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 204 and comparable availability as Standard storage but with lower storage costs. Nearline Storage is appropriate for storing data in scenarios where slightly lower availability and slightly higher latency (typically just a few seconds) is an acceptable trade-off for lowered storage costs. · Durable Reduced Availability: A DRA bucket is similar to Amazon's Reduced Redundancy Storage. Durable Reduced Availability Storage enables you to store data at lower cost, with the trade-off of lower availability than standard Google Cloud Storage. DRA storage is appropriate for storing data that is particularly cost-sensitive, or for which some unavailability is acceptable. DRA buckets can also be created in regions, i.e. there are a wider range of locations that the bucket can be created in. · Standard: A normal bucket where the data is stored as per normal. Backblaze B2 First, it's important to understand that Backblaze B2 is not the same as the Backblaze backup service. You cannot access your Backblaze backup files using B2. Backblaze B2 is a cloud storage service, provided by Backblaze, that is similar to others like Amazon S3 and Google Storage. Although it is similar, there are some very important differences that must be considered before using it: · B2 should be thought of as an archiving system. Once a file is uploaded to B2 it cannot be modified. You can upload a replacement file but the file existing file cannot be modified. · Files in B2 cannot be copied, renamed or moved, which means safe copying and versioning cannot be used. However, versioning is built-into B2 and enabled by default. See below. · The meta-data for a file cannot be changed. Meta-data is data about the file, e.g. its hash value, last modification date & time, etc. This means you cannot choose the action to use a source files details, for example. Within the B2 web interface, you can set the life-cycle rules for files stored within a bucket. This gives you fine grained control over what files to keep and for how long. Within SyncBackPro you can also specify how many versions to keep, with the default being 32. If set to zero then no versions are kept. The current version of SyncBackPro cannot restore versions from B2. To do this you must use the Backblaze B2 web interface. Microsoft Azure $root container The name $root is a special container name in Microsoft Azure. A root container serves as a default container for your storage account. A storage account may have one root container. The root container must be explicitly created and must be named $root. A blob (file) stored in the root container may be addressed without referencing the root container name, so that a blob can be addressed at the top level of the storage account hierarchy. For example, you can now reference a blob that resides in the root container in the following manner: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 205 SyncBackPro Help http://myaccount.blob.core.windows.net/mywebpage.html OpenStack and large files When using OpenStack, and you are uploading large files (over 10MBytes), then the file will be uploaded in parts. This improves the upload and download speed and also allows larger files to be uploaded. If you are using a browser, or other software, to view your files on your OpenStack service (e.g. Rackspace), then the parts will have names like B30D35E0-A13B4DEB-B9C4-88ED11D7DCBE.Part1.DO_NOT_REMOVE. Do not delete these files. If you are using versioning, then these file parts remain in their original upload folder and are not moved to the versions sub-folder ($SBV$). What format are Google Docs files downloaded in? Google Docs files stored on Google Drive do not have a defined type. For example, if you create a document file on Google Docs then it can be exported in several formats. This causes a problem for SyncBackPro because the Google Docs file has no defined size (it is reported as having no size) as the size depends on what format it is exported in. When SyncBackPro downloads a Google Docs file it will store it locally using the Microsoft format, e.g. .docx for document files. If the Microsoft format is not available then the first export format available for that file is used. Google Docs files stored on Google Drive do not record milli-seconds. This means the last modification date & time comparison must be not be less than 1 seconds difference. Upgrading Dropbox and OneDrive Cloud API When you upgrade from an earlier version of SyncBackPro, or import a profile from an earlier version of SyncBackPro, and the profile is using Dropbox, OneDrive (Personal or Business) or SharePoint, then SyncBackPro will continue using the old (legacy) interface with that cloud service. This ensures your profile continues to work. However, it is recommended that you update the profile to use the new cloud API. See the Upgrading Cloud Service section for details. Which cloud storage service should I use? When deciding on which cloud storage service to use you should base it on what is most important to you: 1. Price: The cloud services frequently change their pricing, often reducing it. Also, the cost may depend on what storage class you use for the object and/or bucket/container. Pricing may be based on where (regionally) you decide to store your files. Some cloud services provide free storage up to a certain level. The cloud service may also charge differently depending on if it's an upload or a download. Working out costs can be complex. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 206 2. Speed: The upload and download performance largely depends on where your files are physically located. The closer they are to you, the faster it is that they can be accessed. If possible, try the services using a typical set of files (at the same time of day you would use the service) to see any differences in performance. 3. Size: Microsoft Azure can store files up to 200GB in size, and for Amazon S3 it is 5TB. The limit for Box depends on the type of account you have, e.g. 250MB for personal and 5GB for Enterprise. These limits can change so please verify with the cloud service. 4. Security: The security and integrity of your files may be paramount. It is impossible to say which service is more secure. You can reduce security risks by telling SyncBackPro to encrypt your files. 5. Meta-data: Many of the professional/business cloud services support storing meta-data for files. This is data about the files, e.g. the real file size if the file is stored compressed. If a cloud service supports meta-data then a cloud database is not required. This can make things much simpler and result in fewer issues. Large file uploads and security time-outs For some cloud services, e.g. Google Drive and Box, if it takes a long time to upload a file then it may fail because the security token has expired. When SyncBackPro connects to a cloud service it is given a security token that is passed back to the cloud service with every call made. The security tokens are only valid for 60 minutes (usually, although this is service specific) but they can be refreshed and are refreshed automatically by SyncBackPro. However, if it takes longer to upload a file than the security token is valid for then the upload will always fail as the security token will have expired by the time the upload has completed, and the cloud service will only check the security token once the upload has complete. This is a limitation of those cloud services that use expiring security tokens. Naming restrictions All of the cloud services have restrictions on what characters can be used in a file or folder name. These restrictions may be more restrictive than Windows and may change over time. For example, at time of writing a semi-colon cannot be used in any file or folder names in Microsoft OneDrive. As these rules are likely to change, SyncBack does not check names to see if they meet the rules and instead leaves that to the cloud service itself. You may need to rename your files to meet their naming restrictions. Dropbox also filters out some files and will not allow them to be uploaded (see https://www.dropbox.com/en/help/145 for more details). For example, if you attempt to upload a file called desktop.ini to Dropbox then it will return the error message "The file desktop.ini is on the ignored file list, so it was not saved.". You cannot force Dropbox to accept those files. The only option is to deselect the files, or filter them out, in your profile so that SyncBackPro doesn't even try to upload them. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 207 SyncBackPro Help Cloud database Many of the professional/business cloud services support storing meta-data for files. This is data about the files, e.g. the real file size if the file is stored compressed. However, the consumer orientated cloud services often do not support this (with the exception of Dropbox and Google Drive). SyncBack needs to store important data about the files, e.g. the last modification date and time. If the cloud service does not support meta-data then that data must be stored locally in a database. This can result in problems if that database is deleted, as that important data is then lost. For example, if you backup to Box, and store the files compressed, then SyncBack needs to store the actual uncompressed size of the original source file. This is so it can detect changes in that file. That data is stored in the database as Box does not support meta-data. If you delete the database then SyncBack no longer knows the true size of the compressed file on Box. You can rebuild the database by copying the source file properties to the destination (via the Differences window), but you will need to know which files have changed and which have not. Egnyte Performance We always recommend using a linked cloud account when using cloud services except in one specific use case: if you have multiple profiles that run in parallel (at the same time), and use the same Egnyte account, then you will get better performance by not using a linked cloud account. It is better to authorize each profile with Egnyte so each profile gets its own security access token. The reason for this is due to how Egnyte limits usage. If your Egnyte profiles are not run in parallel, i.e. not at the same time (serially, one after the other), then it is still recommended to use a linked cloud account. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.20 Cloud, Advanced · S3 Storage Class/Blob Tier: Amazon allows for different storage classes, while Microsoft Azure allows for different blob tiers. They are essentially the same thing. A storage class (or blob tier) defines how a file is stored on the cloud service, e.g. it may have less chance of being corrupted or may be stored at a lower cost on a slower storage device. It is strongly advised read the Amazon S3 documentation related to storage classes. This option is not available for S3 compatible service. IMPORTANT: Glacier, and other archiving classes/tiers, are for long term storage (archiving) of files that do not change, not backup. Do not use these classes for backup. · Use Amazon S3 server-side encryption: When this option is enabled SyncBackPro will request that the cloud server automatically encrypt any uploaded files. You do not need to specify a password, and do not require a password to restore any files. All the encryption and decryption is handled automatically and transparently by the server. This is an extra layer of protection in case anyone gets direct access to your files on their servers. If © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 208 someone has your Amazon S3 login details then this will not stop them accessing your files. To avoid that situation you must use the encryption supplied by SyncBackPro. Note that when you enable or disable this option it will only apply to files uploaded after that point, i.e. any existing files on the server will not be encrypted or decrypted. This option is not available when using an S3 compatible service. · Use newer Amazon S3 security: When this option is enabled SyncBackPro will use the newer AWS Signature V4 security. This is required when using buckets located in newer regions, e.g. Frankfurt. Note that when using S3 emulated services it's unlikely to be supported and so setting this option may cause it to fail to connect. SyncBackPro will attempt to automatically use the newer security if it is required by the server. All Amazon S3 regions support the newer security, however using it can reduce performance. · Use Amazon S3 transfer acceleration: When this option is enabled SyncBackPro will use the transfer acceleration feature of S3. Please refer to the Amazon S3 documentation on how to enable this feature on a bucket, the restrictions that apply and the increase costs associated with using this feature. · Retrieve a list of all the files and folders then filter (faster in most situations): There are two methods for SyncBackPro to request a list of all the files and folders from the cloud storage server. It can either request the lists folder by folder (which is how it does it with local drives, FTP servers, etc.) or it can ask the server for a list of all the files and folders in one go (the default). One method may be faster than the other depending on how many of the files and folders on the cloud service are going to be filtered out by your profiles. If lots of the files are going to be ignored (due to filter and file & folder selections) then the profile may run faster if this option is switched off. If your cloud storage system has tens of thousands of files on it then you may need to disable this option as SyncBackPro may use a large amount of CPU time retrieving the list. If Fast Backup is being used then this option is always used (if the cloud service supports it). o Do not use the delta API: This option is only available when a cloud service is being used that supports getting a delta changes list, e.g. DropboxTM is being used. A delta changes list provides the ability to quickly discover what changes have been made since the last profile run. It is recommended that you do not enable this option unless it is causing problems, e.g. changes are not being discovered. Note that if you disable this option then the first run after disabling it may take a long time to run as the delta changes list may be very large. But after that first run with delta API enabled, subsequent profile runs should be much quicker than with this option enabled (delta API disabled). If Fast Backup is being used then the delta API will not be used. · Upload the database to the cloud: SyncBackPro keeps a local database for storing the details of the files on the cloud service. This database is used to store details that cannot be stored on the cloud service. For example, some cloud services do not allow the last modification date & time of a file to be changed. To get around such limitations SyncBackPro keeps a record of what those details are. You can optionally also store that database on the cloud. If you are using the cloud service with SyncBackPro from more than one computer then it is strongly recommended you enable this option. This ensures that any changes made to the details will be visible to all SyncBackPro installations. Due to the way SugarSyncTM, OneDrive for Business (Office 365) and SharePointTM (Office 365) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 209 SyncBackPro Help work this option is not available when using those cloud services. It's also not available when using Amazon S3 or Microsoft Azure as they do not require a database. · Move deleted cloud files to trash: Some cloud services, e.g. Google Drive, support an option where files deleted from the cloud service are moved to the trash instead of being permanently deleted. If this option is enabled, which is the default, then SyncBackPro will move files to the trash when they are deleted. Note that some cloud services will move files to the trash regardless and provide no option not to do this, just as some will only permanently delete files and not have a trash feature. This option is only available when a cloud service supports the option of moving files to the trash. · Automatically translate invalid filenames: For some cloud services, SyncBackPro will translate filenames so they are compatible with Windows file systems. This option is enabled by default and works the same way as in FTP. This feature is not available (and not functional) with Amazon S3, Backblaze B2, Google Storage, Microsoft Azure, Rackspace, hubiC, Egnyte and Citrix Share. · Mute file change notifications in cloud apps: Some cloud services, e.g. Dropbox, have client applications that notify you when a file is uploaded or changed. By enabling this option you can configure SyncBackPro to tell the cloud service not to notify you when it uploads a file. · Number of worker threads to use (too many will degrade performance): File upload and download performance with Amazon S3, Microsoft Azure, Egnyte, Backblaze B2, Rackspace/OpenStack and Google Storage (if using a private key) can be significantly improved by enabling parallel file copying. You can set the number of files to upload in parallel. SyncBackPro will upload smaller files in parallel, and large files serially (as these are already uploaded using multiple threads, see following setting). Note that increasing this value too high can slow down the profile or cause the cloud system to throttle the connection. Also, in some circumstances SyncBackPro will not use worker threads, e.g. if runtime scripts are used. Note that with Egnyte the maximum number is 12 (due to restrictions the service imposes). If you are using multi-zip compression then worker threads will not be used to upload files. · Number of upload/download threads to use (too many will degrade performance): Some cloud services, e.g. Amazon S3 and Microsoft Azure, allow for multi-threaded access so upload and download performance can be improved. When SyncBackPro uploads or downloads files, or retrieves the meta-data on the files, it will do so in parallel by using a number of different threads. This can significantly improve performance, but if too many threads are used then it can also significantly reduce performance (by overloading the network, CPU, and increasing memory usage). On cloud services that support this, by default 30 threads are used. If you are limiting the bandwidth, and have more than one thread, then this will be highlighted in the user interface. For cloud services that do not support threaded access then only 1 thread is ever used. The maximum number of threads is 150. Note that with Egnyte the maximum number is 12 (due to restrictions the service imposes). · Number of scanning threads to use (too many will degrade performance): Some cloud services, e.g. Amazon S3 and Microsoft Azure, allow for multi-threaded access so © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 210 scanning for changes performance can be improved. This can significantly improve performance, but if too many threads are used then it can also significantly reduce performance (by overloading the network, CPU, and increasing memory usage). The maximum number of threads is 100. Note that with Egnyte the maximum number is 12 (due to restrictions the service imposes). · Send and receive timeout (seconds): Sometimes network problems and disconnections can cause communication with the cloud storage server to freeze, e.g. SyncBackPro may be waiting for a response from the server which may never arrive. You can set a limit for how long SyncBackPro should wait for a response before it tries again. By default the timeout value is 60 seconds. · Access Policy applied to uploaded files: This setting only applies to Amazon S3 (Azure sets its security via the container). By default SyncBackPro will use the highest security setting, i.e. only you and nobody else can access the files. However, you may be storing files that you want others to be able to access (e.g. via a web page) and so would want a different access policy. Note that there is also an access policy on the bucket. Please refer to the cloud service documentation on the meanings of the access policies. · Limit bandwidth usage to: This limits the bandwidth usage when uploading and downloading files to and from the cloud. Note that the throttling uses an average over time meaning that it will transmit in bursts (at maximum speed) and then pause, i.e. the transfer rate will not be constant. Note that if the bandwidth throttle is set too low then you may experience timeout failures. If you limit the bandwidth then you should also reduce the number of threads (ideally to just 1). · Number of days to restore Glacier files for: This setting only applies to Amazon S3. If SyncBackPro needs to retrieve a Glacier file then this is the number of days Amazon will store the temporary copy of that file. · Glacier retrieval tier to use: This setting only applies to Amazon S3. If SyncBackPro needs to retrieve a Glacier file then this is the speed at which the file(s) will be retrieved from Glacier. Check with Amazon on the costs associated with different retrieval speeds: o Standard: default, 3-5 hours retrieval time o Expedited: fastest, most expensive, 15 minutes retrieval time o Bulk: slowest, lowest cost, 512 hours retrieval time · Customer-provided encryption keys (SSE-C): This setting only applies to Amazon S3 and compatible services, e.g. Wasabi and Oracle S3 compatible storage. If you are using server-side encryption with your own encrypted keys (SSE-C) then you can specify the key here. If you use SSE-C: o Always use an encrypted connection. This is to protect your key., o Do not use more than one key with objects in a bucket, i.e. all objects in the bucket must use the same key. If you use more than one key then scanning will fail. o If you change keys then you will need to delete the objects and re-upload all of them with the new key. Alternatively create a new empty bucket and use that bucket with the new key. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 211 SyncBackPro Help Setting the MIME type (Content-Type) You can change the MIME Content-Type for files that are uploaded to a Cloud Storage Service by using a custom MIME.TXT file. Note that not all cloud services allow the Content-Type to be specified. Create a text file called MIME.TXT in the folder where the SyncBackPro executable is. By default, this location is at: 32-bit: C:\Program Files (x86)\2BrightSparks\SyncBackPro 64-bit: C:\Program Files\2BrightSparks\SyncBackPro The text file must specify the extension and what mime type it should be. Specify one extension/mime per line. For example: txt=text/plain asf=video/x-ms-asf webm=video/webm Please note that it is not necessary to put a period before the extension (example - txt instead of .txt), but it wouldn't matter either if you place the period before such extensions. Setting the Content-Disposition (Amazon S3 only) You can set the Content-Disposition to attachment for files that are uploaded to a Amazon S3 by using a custom CONTDISP.TXT file. Create a text file called CONTDISP.TXT in the folder where the SyncBackPro executable is. By default, this location is at: 32-bit: C:\Program Files (x86)\2BrightSparks\SyncBackPro 64-bit: C:\Program Files\2BrightSparks\SyncBackPro The text file must specify the filename extension or the filename (no path). Specify one filename extension or filename per line. For example: .txt download.exe Please note that it is necessary to put a period before an extension otherwise it is treated as a filename. Any file uploaded that matches a filename or extension, or filename, in this list will have its Content-Disposition set to attachment when uploaded. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 212 If you want all files to have the Content-Disposition set to attachment then put a single asterisk in the file: * All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.21 Cloud, Proxy · I use a proxy server: If you must use a proxy server to connect to external cloud servers then you must enable this option. · Hostname: This is the hostname of the proxy server, e.g. proxyserver.com. · Username: This is the username to use to connect to the proxy server. It may be optional for your proxy server. · Password: This is the password to use to connect to the proxy server. It may be optional for your proxy server. · Port: The port number of the proxy server. This value varies depending upon the type of proxy server software used. Although "1" is the default, it will almost certainly not be this number. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.22 Cloud, Tags Amazon S3 allows for tags to be included with uploaded/updated objects. Refer to their documentation for details and restrictions. As these kinds of restrictions are often changed, and tagging may be expanded to other cloud services in future releases, SyncBackPro does not make any attempt to validate the tags you use. You can use variables both in the key name and the value name. For reference, at the time of writing, these are the Amazon S3 object tagging restrictions: · You can associate up to 10 tags with an object. Tags that are associated with an object must have unique tag keys. · A tag key can be up to 128 Unicode characters in length, and tag values can be up to 256 Unicode characters in length. o Maximum key length 128 Unicode characters in UTF-8 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 213 SyncBackPro Help o Maximum value length 256 Unicode characters in UTF-8 · The key and values are case sensitive. · The allowed characters across services are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @ · The aws: prefix is reserved for AWS use. Note that the tags are only set on objects that are uploaded or updated. If you change the tags then they are only changed for existing objects if that object is updated. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.23 Backup Email This profile settings page can use and create shared settings. Using these settings it is possible to backup your email messages (this is not to be confused with emailing the log). SyncBackPro can make a backup of emails stored on any POP3 or IMAP4 email server. If your Microsoft Exchange server supports access via EWS or WebDav, one of those options can be used instead. You can backup whichever IMAP4 folders you like. When using POP3 you cannot select your source (folder). This is because the POP3 has no concept of folders. It only has a single list of emails (files). How do you restore your emails? You cannot restore the emails to your (SMTP) email server using SyncBackPro. Instead you must import the EML files into your email client (see the Filename of EML files setting below). How do you have the emails deleted from the email server after a copy has been made? You must configure the Decisions - Files settings so that the emails are moved instead of just being copied. To reduce the backup time it is recommended that you enable the Fast Backup feature. Note that this is not possible if you are using a POP3 email server. Retrieving Server Connection Details · Email Service: If you use a public email service, e.g. GMail, then you may be able to choose it from the drop-down list. If so, some of the settings will be set automatically for you. Note that you may still need to set things like the login username as they are unique to your account. · Server Type: For most people this should be typically be POP3. However, if you're using a Microsoft Exchange server then you can change this as appropriate. If you are using © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 214 Microsoft Exchange 2007 or newer then do not use the WebDAV option unless you are using an old version of Microsoft Exchange (2000 or 2003). Check with your email provider or systems administrator. · Hostname: The hostname (or IP address) of your POP3 or IMAP4 server. Check with your email provider or systems administrator on what that is. Note that in some cases, e.g. Gmail and other web based email services, you may need enable access to your emails via a POP3 (or IMAP4) server. · Port: The port number of your email server. It is recommended you leave it as zero (then SyncBackPro will use the default port number based on your settings). If you are using Microsoft Exchange then this value is not required. · Connection Encryption: If your email server requires an encrypted connection, or it supports one and you want your email to be transmitted from the server in encrypted form, then select the appropriate option. Some email servers, e.g. GMail, require an encrypted connection. If your POP3/IMAP4 server supports a direct encrypted connection then select Direct SSL/TLS connection option. The Use STLS command is different from the direct setting in that it connects to the email server using an unencrypted connection and then once connected it requests that the connection be encrypted by sending a special command to the email server. Choose this option if your email server does not support a direct encrypted connection. If you're using Microsoft Exchange then select either option to use an encrypted connection. · Login: If you must login to your email server (and if you are using Microsoft Exchange then you must) then select Must login to email server and enter your login username and password below. Note that some servers require a login whereas others may fail if you do attempt to login. Check with your email provider or systems administrator. Some email services have 2-step verification for added security. In this case the password may need to be an application specific password and not your actual password. Refer to your email services documentation on how to create an application specific password. Due to spam, most email servers now require you to login. SyncBackPro can login to email servers that require a username and password in clear-text, NTLM, CRAM-MD5, or MSN. o Username: The username used to login. This is only enabled if Login is set to Must login to email server. o Password: The password used to login. This is only enabled if Login is set to Must login to email server. If your password has spaces in it, and you're not using Exchange, then you may need to enter it with double-quotes. For example, if your password is abc 123 then enter "abc 123" as the password. o Prompt for the password when run (profile will fail if run unattended): If this option is enabled then every time the profile is run SyncBackPro will prompt you for the password. If the profile is being run unattended, then no prompt will be displayed and the profile run will fail. · Modify the email received time: This should be left as zero unless you are having problems with the last modification date & time of the EML files (see the warning below © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 215 SyncBackPro Help about a bug in Windows). This value is the number of minutes to increment (or decrement, if negative) to the received date & time of the email. For example, if you set this to 180 then the received date & time is incremented by 3 hours (180 minutes). Filenames · Filename of EML files: This is the filename to use for the email files. Each email is downloaded and stored in its own self-contained EML file, i.e. the EML file contains the email body and all attachments. EML is a standard file format used by many of the popular email clients, e.g. Mozilla Thunderbird. You can use special variables for the filename. The default filename is %EMAIL_SUBJECT% [%EMAIL_IDORMD5%].eml. The filename will be automatically trimmed if it exceeds 255 characters (that is the filename of the EML file, not the complete path). The filename extension will kept unless it itself exceeds the maximum length. Also, any invalid filename characters will be removed (e.g. carriage returns) or converted to dashes (e.g. asterisks). There is a known bug in Windows where the last modification date & time of EML files is changed. See our KB article online for more details and a fix. · Also export the email bodies and attachments: If you also want the email stored in plain text and the email attachments saved as-is then you should enable this option. Please keep in mind that the EML file already includes the body and attachments so it is not recommended or required that you enable this option. o Sub-folder to export the emails and attachments to...: This is the sub-folder to store the emails in. You can use special variables in the sub-folder name. The default subfolder is \%EMAIL_DATE%\%EMAIL_IDORMD5%\%EMAIL_SUBJECT%\. Note that each variable will be expanded to a single valid filename with invalid filename characters changed to dashes (-). For example, %EMAIL_DATE% will be be converted to 30-082013 and not 30\08\2013. Gmail If you are using a Gmail account, and are not using 2FA (Two Factor Authentication) with your Google Account, the following explains how to configure it so it can be used with SyncBackPro: · Login to your Gmail account · Click Settings link in top-right · Go to Forwarding and POP/IMAP tab in Settings · Enable Enable POP for all mail (even mail that's already been downloaded) and Enable IMAP · Change When messages are accessed with POP to keep Gmail's copy in the Inbox · Click Save Changes © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 216 · You also need to allow access via less secure apps. To do this visit https://myaccount.google.com/lesssecureapps The problem with Gmail is that it sometimes forgets these settings and so you may have the problem of SyncBackPro saying there are no emails. This is because the Gmail POP server is saying there aren't any emails because the Enable POP for all mail setting is sometimes "forgotten" by Gmail. Also, sometimes Gmail doesn't appear to delete emails that SyncBackPro asks it to delete. If you are using 2FA (Two Factor Authentication) with your Google Account then you need to create an App Password for SyncBack. You then use that password instead of your Google password. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.24 Backup Email, Proxy · I use a proxy server: If you must use a proxy server to connect to your email server then you must enable this option. · Hostname: This is the hostname of the proxy server, e.g. proxyserver.com. Variables can be used. · Username: Your proxy login username. If you do not need to login to your proxy server then leave this blank. Variables can be used. · Password: Your proxy login password. If you do not need to login to your proxy server then leave this blank. · Port: The port number of the proxy server. This value varies depending upon the type of proxy server software used. · Proxy Type: This setting defines what type of proxy server you are using. It is important the correct setting is used otherwise SyncBackPro will not be able to login to your proxy server. Check with your Network Administrator on which proxy setting to use. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.25 SyncBack Touch Using this window you can specify which SyncBack Touch device you want the profile to use. SyncBack Touch is free when used with SyncBackPro or SyncBackSE V10 or newer. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 217 SyncBackPro Help · Destination/right files are on a SyncBack Touch device: If the destination/right is a SyncBack Touch device then tick this checkbox and then select the appropriate device in the drop-down list. If you click the Find button then a scan of the local network is made to find all the devices currently running SyncBack Touch and are available. This is achieved via a UDP broadcast on port 24671 (so if this UDP port is being blocked by a firewall then it won't be possible to find the servers). If the device cannot be found, or you are accessing it via the Internet, you can also optionally type in the hostname or I.P. address of the device. If you do manually enter the hostname or I.P. address then you should untick the following checkbox. o I want to use multiple SyncBack Touch devices: If enabled then you can specify a list of SyncBack touch devices you want the profile to connect to. See the multi-profile section below for details. · Find and connect to the SyncBack Touch device using its name: If you have entered the hostname or I.P. address into the above edit-box then leave this checkbox unticked. However, if you want the device to be found via a broadcast then tick this checkbox. By using the broadcast method you don't need to worry about the hostname or IP address (which can change) of the device. You can also have the profile run automatically when SyncBack Touch starts on the device and becomes available. · Port: This setting is not enabled if the device is being connected to via its name as the port number will be discovered automatically. By default SyncBack Touch uses port 8080. Note that if you use Rapid Transfer (see below) then the port above it also used, e.g. if you use port 8080 then Rapid Transfer will also use port 8081. · Username: This is only required if the SyncBack Touch device is configured to verify usernames and passwords with an SBMS server or Touch is on Windows and was installed to support user impersonation. By default no username is required by SyncBack Touch. · Password: This is only required if the SyncBack Touch device is configured to verify usernames and passwords with an SBMS server, has been configured to require a password or is using user impersonation. By default no password is required by SyncBack Touch. · Transfer Threads: This is the number of threads to use when uploading and downloading files with SyncBack Touch. The default is 5. For this feature to be used you must be using the latest version of SyncBack Touch. Also, if Touch is on an Android device running Lollipop or newer, and files are being uploaded to an external SD card, then only one thread will be used (due to limitations of writing content on external SD cards). The maximum number of threads is 30. Increasing the number of threads from the default of 5 is more than likely to actually slow down the transfer speeds. It is recommended that you experiment to find the optimal number of threads for your network and devices. · Touch Version: Which features a Touch server supports depends on it's version. You can force SyncBackPro to use a lower version number by selecting a version from the dropdown list. It is recommended you leave this setting at it's default blank value, so it uses the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 218 latest version. IMPORTANT: This setting is only available if debug output is enabled in SyncBackPro (because it's use is primarily for support staff to find problems). · Run this profile when SyncBack Touch starts on the device: If enabled then the profile will be run automatically if the device running SyncBack Touch is found on the local network. This option is only available if you are connecting to the device using its name. SyncBack will send out a UDP broadcast on port 24671 every 3 seconds, so if this UDP port is being blocked by a firewall then it won't be possible to find the devices. If a Touch device reconnects to the same network within 30 minutes then the profile will not be automatically run again. · Run unattended, i.e. do not prompt me: If you want the profile to run unattended when the device is detected then enable this checkbox. · The connection is very slow: If you have a very slow network connection to SyncBack Touch, e.g. in the range of kilobits per second, then enable this option. It reduces the network packet sizes, increases the network timeouts and will only use a single threaded connection. This avoids timeouts and gives a better indication of progress. · Enable Rapid Transfer: Rapid Transfer can greatly increase performance when using SyncBack Touch. However, there are limitations: data is not encrypted over the network, it may saturate your network, it's not recommended for use on devices with slow storage (e.g. Android devices), it cannot be used with delta-copy (see below) and an extra TCP port is used (one higher than your Touch port, e.g. if you use port 8080 then it will also use port 8081). · Shutdown SyncBack Touch when the profile ends (Android only): If you are copying files to Touch running on an Android device, e.g. your phone, you may want the SyncBack Touch service on the Android device to stop once the profile has finished running, e.g. for security reasons. If so, enable this option. The drawback of using this settings is that you'll need to manually restart Touch on the Android device if you want to run the profile again. Note that this feature only works when Touch V1.3.11 or newer is running on an Android device. · Use delta-copy for upload and download of files over this size (MBytes) (Windows only): If you are copying files to a remote Windows device running Touch, you may want to use delta-copy to reduce the network usage. For example, if you are copying large files that don't change their contents too much, e.g. Virtual Machines, then it may be considerably faster to use delta-copy. In this case, when a file is transmitted over the network, only the changes are sent. The file is then rebuilt on the other end. It's not efficient to use this method with all file types (hence the filter option) or with small files, which is why you can specify the smallest size to use delta-copy with. This feature only works when Touch V1.3.11 or newer is running on Windows. This feature is not the same as delta-copy versioning. The versioning feature stores the differences, but in this case the differences are transmitted over the network and the file is rebuilt by SyncBackPro / Touch. Configuration © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 219 SyncBackPro Help To configure SyncBack Touch on the device click the Configure button. SyncBack will connect to the device and display a window where you can change the settings. Note that if SyncBack Touch is using SBMS then the user must have the admin role. · SyncBack Touch Password (leave blank to not change): This is the password that SyncBackPro profiles will need to connect to this device. · SBMS host name: If SBMS is being used for security then this is the hostname or I.P. address of the SBMS server. · SBMS port number: If SBMS is being used for security then this is the port number of the SBMS server. By default it is 8100. · SyncBack Touch port number: The port number used by SyncBack Touch. By default it is 8080. · Cache Size: The amount of disk space SyncBack Touch will use on the device for caching. Ransomware Detection To configure SyncBack Touch to detect ransomware on the device it is installed and running on, click the Ransomware Detection button. Enable or disable the checkbox "Enabled Ransomware detection" to switch on or off ransomware detection. You can click the ReCreate button to recreate the ransomware detection file, e.g. if it has been deleted or changed (and you know it is not due to ransomware, for example). SyncBack Touch will create a ransomware detection file (an RTF file with a random filename) in the shared documents folder on the device Touch is running on. The ransomware detection with Touch is performed slightly earlier than when used with a profile. It is done before the source/left and destination/right folders are created. Multi-Profile SyncBackPro can be configured to run the same profile multiple times. Each run of the profile will connect to a different SyncBack Touch device. By doing this, for example, you can create just one profile to backup multiple SyncBack Touch devices instead of creating a profile for each device. Keep in mind that the source and destination paths, and all other settings, are going to be the same, so you may want to use variables. For example, you could set it to backup to X:\Backup\%SBTNAME%\ so that each backup goes into its own folder with the SyncBack Touch device name being used as the sub-folder name. There are a number of ways to add a SyncBack Touch device to the list: o Press the Insert key to insert a new row into to the list. o Click the Add button to add a new row to the list. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 220 o Click the Import button to import a list of devices (see below for the file format). o Click the Find button to scan the local network to find SyncBack Touch devices and add them to the list automatically. o In the Add IP Range box, enter a starting I.P. address, ending I.P. address and the port number (default is 8080) then click the Add button. The list columns are: Hostname/IP: The hostname, I.P. address or device name of the SyncBack Touch device. Is Name?: If Yes, then the Hostname/IP refers the name of the SyncBack Touch device, otherwise it is the hostname or I.P. address of the device. Port: The port number (default is 8080) of the SyncBack Touch device. If you are connecting using the name then this value is ignored. Username: This is only required if the SyncBack Touch device is configured to verify usernames and passwords with an SBMS server. By default no password is required by SyncBack Touch. Password: This is only required if the SyncBack Touch device is configured to verify usernames and passwords with an SBMS server or has been configured to require a password. By default no password is required by SyncBack Touch. To change the username and password for a range of devices, enter the Username and Password in the Credentials box. Next, select the items in the list (use the SHIFT key and arrow keys). Finally, click the Update button to change the credentials for the selected devices. If you want to import a list of devices, the file must be a comma-delimited file (CSV) with the following format: "Hostname, IP address or device name","Is Name?","Port","Username","Password" Note that all items in the list must be wrapped in double-quotes, and it must be one entry per line. For the Is Name? field it must be "Yes" or "No". The port number can be left blank ("") if Is Name? is Yes. The Password must be in clear-text, i.e. not encrypted or hashed. For example: "192.168.1.1","No","8080","user","password" "192.168.1.2","No","8080","user","password" "192.168.1.3","No","8080","user","password" "hostname.com","No","8123","user","password" "MyComputer","Yes","","user","password" "MyPhone","Yes","","user","password" Multi-Configuration To configure all the SyncBack Touch devices in the list click the Configure button. You then enter only the details you want changed for all those devices, e.g. the SBMS host name, and then click OK. SyncBackPro will then connect with each device in the list and change its configuration. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 221 SyncBackPro Help Android Note that by default most Android devices will sleep (switch off) Wi-Fi when the screen turns off. That will pause any SyncBack Touch connections. What the setting is called and where it is depends upon the phone and version of Android: · Gingerbread (Android V2.3.3): Go to Settings, Wireless and network, Wi-Fi settings and then press the menu key. Select Advanced from the pop-up menu and go to the Wi-Fi sleep policy setting. Choose Never to make sure the Wi-Fi connection stays on. · Kit Kat (Android V4.4): Go to Settings, Wi-Fi and the press the menu image (the burger). Select Advanced from the pop-up menu and go to the "Keep Wi-Fi on during sleep" setting. Choose Always to make sure the Wi-Fi connection stays on. However, especially on older versions of Android, even with the above setting you may need to set the device to keep the screen on: · Gingerbread (Android V2.3.3): Go to Settings, Display, Screen Timeout and select an appropriate timeout value. · Kit Kat (Android V4.4): Go to Settings, Display, Sleep and select an appropriate timeout value. Android and Security The Android operating system will stop apps (such as SyncBack Touch) from reading and writing to files and folders it has no permission to access. Starting with KitKat (Android 4.4) it also restricts access to external storage (SD cards). SyncBack Touch may not be able to access external storage at all or may only have read-access to it. The only way to get around these security restrictions is to root the Android device and configure Android as appropriate. However, this is not recommended as it will likely void any warranty and may make the phone unusable. SyncBack Touch Security and Authentication All communication with SyncBack Touch is encrypted (unless Rapid Transfer is enabled, see above). SyncBack Touch can be configured three different ways in regards to authentication: · It can be configured to simply accept a user defined password. SyncBack will connect to the device and provide that password. If the password is correct then it can use the device. This is the default (with an empty password) and is ideal for home use and is available to both SyncBackSE and SyncBackPro. · It can be configured to connect to a remote SyncBack Management Service and verify that the username and password supplied by SyncBack is correct. This is ideal for © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 222 business/enterprise use as the usernames and passwords are centrally managed. SyncBackSE cannot use this option. · SyncBack Touch can be installed to allow impersonation. This means SyncBackPro connects using the usernames and passwords of Windows accounts on the computer SyncBack Touch is running on. This is also ideal for business/enterprise use as the usernames and passwords are the same Windows usernames and passwords that are already used by users on their Windows computers. This also adds an extra layer of security because when SyncBackPro connects to Touch then they only have access to the files and folders on the Touch device that Windows allows them access to. SyncBackSE cannot use this option. Firewalls and Routers By default SyncBack Touch uses TCP port 8080 for all communication with SyncBack. If you are using Rapid Transfer then an extra port is required. It will use the next higher port number, so if you are using port 8080 then it will also use port 8081. The port number can be changed/set during the installation (see below) or by using SyncBack. If you want to access SyncBack Touch through a firewall then you must open this port (and the one above if using Rapid Transfer). If SyncBack Touch is behind a router then you may need to enable port forwarding. Refer to your routers documentation for details. To discover SyncBack Touch installations broadcasts are made on the UDP port 24671. You may need to open this port on your firewall (not your router as broadcasts are only made on the local network). SyncBack Touch Installation On Windows you can use a number of command parameters with the SyncBack Touch installation program (SyncBackTouch_Setup.exe): · /verysilent To install SyncBack Touch without any prompts or messages on the screen use the /verysilent command line parameter with the installation executable, e.g. SyncBackTouch_Setup.exe /verysilent It is important that it is the first command line parameter. WARNING: When using a silent installation, no prompting can be done. Therefore, if the installer cannot replace a file because it is being used, then it will replace it on reboot. If it needs to reboot to replace the file then it will immediately reboot, without prompting, once the installation is complete. You should also bear in mind that if you disable prompting, it is assumed you tacitly agree to those prompts that would normally be displayed (for example, our terms & conditions) and/or that you are aware of the issues that would normally be © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 223 SyncBackPro Help mentioned. If in doubt, you should manually install a test instance first and satisfy yourself there are no contentious issues. · /SBMS_Hostname="hostname" This is the hostname or I.P. address of the SyncBack Management Service (SBM Service). Only specify this if you are going to use SBMS for security and licensing. For example: SyncBackTouch_Setup.exe /SBMS_Hostname="192.168.0.1" · /SBMS_Port="portnumber" This is the TCP/IP port number of the SyncBack Management Service (SBM Service). The default SBMS port is 8100. For example: SyncBackTouch_Setup.exe /SBMS_Hostname="192.168.0.1" /SBMS_Port="8095" · /SBFS_Port="portnumber" This is the TCP/IP port number of that SyncBack Touch should use. The default SyncBack Touch port is 8080. For example: SyncBackTouch_Setup.exe /SBFS_Port="8081" · /Password="password" This is the password that SyncBack Touch should use. This is ignored if you are using SBMS for security. By default there is no password. For example: SyncBackTouch_Setup.exe /verysilent /Password="secret" · /ServAccName="username" This is the Windows user account that SyncBack Touch should use for the Windows service. If this isn't specified then SyncBack Touch will use the System account. This is optional. For example: SyncBackTouch_Setup.exe /ServAccName="machine\username" /ServAccPass="password " · /ServAccPass="password" This is the password for the Windows user account that SyncBack Touch should use for the Windows service. For example: SyncBackTouch_Setup.exe /ServAccName="machine\username" /ServAccPass="password " © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 224 · /Impersonate If you want to use impersonation authentication with SyncBack Touch then pass /Impersonate on the installer command line. You cannot use this option if you are using /ServAccName as the service must use the system account. For example: SyncBackTouch_Setup.exe /Impersonate All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.26 Network, Advanced You can only edit the values if you are using a UNC path or if the path contains variables (because it is impossible to know if it will be a UNC path or not until the profile is actually run). · Use this username and password before trying my current username and password: This setting defines which user account will be tried first to connect to the network. If enabled then SyncBackPro will try the supplied username and password before using your current username and password. By default SyncBackPro will use your current username and password before trying the ones supplied. · Do not try my current username and password: If enabled then SyncBackPro will not use your current username and password. Note that if you do not specify a username and password then it will use the current username and password even if this option is enabled. This is because that is the only option available, i.e. SyncBackPro must use something to connect and because nothing has been supplied it must use the current username and password. · Do not disconnect from the network after the profile has run: By default SyncBackPro will disconnect the network connection once the profile run has finished (it will not disconnect if it used an existing connection). If you change this setting so that SyncBackPro does not disconnect you should be aware that it may cause problems with the computer you are connecting to and/or from. Windows, and other operating systems, have limits on the number of network connections that they can have open at any one time. The limit could depend on a number of factors, e.g. technical or licensing. If the connection is not dropped then the limit may be reached and problems may occur, e.g. computers may not be able to connect to the remote server. How SyncBackPro connects When SyncBackPro connects to a UNC path it is done as follows: 1. It first checks to see if there is already a connection. If so: a. If the Do not try my current username and password... option is not enabled and no username and password has been given (on the Network settings page) then it is done. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 225 SyncBackPro Help b. If the Do not disconnect... option is enabled it will see if the user is connected using the same username given on the Network settings page. If so it is done. If it's connected as a different user then it will disconnect so it can re-connect as that user. 2. If the Use this username and password... option is enabled, or the Do not try my current username and password... option is enabled, then it will attempt to connect using the username given on the Network settings page. If so it is done. If that fails, and the Do not try my current username and password... option is not enabled, then it will attempt to connect using the default username and password. 3. If the Use this username and password... option is not enabled then it will attempt to connect using the default username and password. If that fails then it will attempt to connect using the username given on the Network settings page. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.27 When, Hot-key · Run the profile when this hot-key is pressed: To run the profile when a certain key combination is pressed, click this edit box and press the hot-keys you want to assign. For example, if you want to run the profile whenever you press Ctrl-Shift-P, then press those keys. Now whenever you press Ctrl-Shift-P, no matter what application you are using, and even if SyncBackPro is minimized, the profile will be run. Please note that SyncBackPro must be running for hot-keys to function (you may want to configure SyncBackPro to start automatically when you login to Windows). To remove a hot-key, click the hot-key edit box and press the Backspace key. If you try to use a hot-key that is already being used (either by another profile or as a hot-key in another application) then the hot-key will be set to None. · Run unattended, i.e. do not prompt me: If a profile is run via the hot-key, by default it is run attended, i.e. dialog box and prompts related to the profile will be displayed when required. If this option is ticked then the profile will be run silently without any prompting. Note that if this is a group profile then all the profiles in the group will be run attended or unattended, i.e. for a group this setting overrides the profiles setting. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.28 When, Login/Logout · Run this profile on Windows shutdown/logoff: If this option is enabled, the profile will run when you shutdown, restart, or logoff from Windows. By default, SyncBack will warn you there are profiles set to run on shutdown/logoff when you exit SyncBack. This is because SyncBack must be running at the time of logoff or shutdown for the profiles to be run. Starting with Windows Vista, Microsoft introduced many restrictions on how programs can react to and handle the shutdown or restart of a computer. Due to these restrictions Run Before and Run After programs will silently fail and not even start if the profile is set © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 226 to run on shutdown/logoff and the computer is shutdown or restarted (the programs will still be run as per normal if its a logoff). If the profiles that are run on shutdown/logoff take more than a few minutes then Windows will abort the shutdown/logoff. · Run this profile when I login to Windows: A special entry is created in the Windows Task Scheduler (this avoids receiving UAC elevation prompts). Note that a profile set to run on login will be run unattended. Due to the nature of this setting it cannot be set to be on by default. However, unlike in earlier versions of SyncBack this setting can now be exported/imported and copied to another profile. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.29 When, Changes A profile can be configured to watch for changes to files, and when any changes are made, the profile will be run. There are some important points to keep in mind: 1. SyncBack must be running for it to be able to detect changes. You may want to configure SyncBack to start with Windows (see Global Settings in the burger menu ). 2. If you make changes to those files while SyncBack is not running it will not detect them and so when you start SyncBack it will not run the profile. Because of this you may still want to schedule the profile to run periodically. 3. Changes cannot be detected on FTP, email servers, MTP, Touch or cloud servers. It will probably also fail to detect changes on NAS devices that are not running Windows (many NAS devices use a version of Linux) and on networked drives that are not running Windows. Instead of detecting changes in files, you may want to have the profile run when a program closes. For example, if you are editing files then you may instead want SyncBack to backup the files as soon as you close the editor software. Having SyncBack backup files every time they are changed may not be practical in some cases. · Run this profile when any files or directories are changed on source: If this option is enabled then the source/left folder will be watched, and if any changes are made to any files (including files in sub-folders), or if any files are deleted, then the profile will be run. · Run this profile when any files or directories are changed on destination: As per the above setting but the destination/right is watched. If you using a backup profile then there is no point watching the destination for changes. Also note this option is not available with Fast Backup profiles. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 227 SyncBackPro Help · Run interactively, i.e. prompt me if required: If a profile is run when changes to the files are made, by default it is run unattended, i.e. dialog box and prompts related to the profile will not be displayed. If this option is ticked then you will be prompted as and when required. · Wait a number of seconds for no changes before running the profile: A common problem with running a profile when files are changed is that there is no way for SyncBack to know when a program has finished writing to or updating a file. For example, a video editing program may take several seconds to save the changes you've made to a video. In that case SyncBack will run once it sees the video file being updated, but the video editing program may not have finished saving the file before SyncBack starts copying that file. To avoid these kinds of problems you can configure SyncBack to not start the profile until there have been no changes for a certain number of seconds. For example, a program may need to update many files before it exits. Updating all those files may take several seconds. Let's say you set this profile setting to 5 seconds. If the program updates one file then SyncBack will see the change but won't yet run the profile. The program may then update another file a couple of seconds later. SyncBack will detect the change but still won't run the profile because changes were made less than 5 seconds after the previous change. Once the program has saved all its files, and 5 seconds have passed without any file updates, SyncBack will then run the profile. The following setting defines if the seconds to wait is idle seconds. · This must be idle computer time: If enabled then the number of seconds specified in the above setting refers to idle time. For example, if you've specified to wait 5 seconds, and this option is enabled, then SyncBack will wait until the computer has been idle for that number of seconds after any changes are detected. Idle time is the amount of time that the keyboard, mouse and any other input device has not been used. This setting is useful to make sure profiles are not run while you are using the computer. Important: this delay starts from the last alert by Windows of a change (and is reset/zeroed by any fresh alert). But if the delay is set to 5 seconds, for example, and the last alert by Windows of a change was 5 seconds ago, the profile will then start. If that last change is still ongoing (video program is still writing after 5 seconds) then an error may occur as the file is still being written to. It is recommended that you set the delay time to exceed the duration of the slowest/longest change-event anticipated. · Queue Profile: If this option is enabled, the profile will not be executed immediately and will instead be added to the queue. Versioning If you are using versioning then you should set the profile to store versions in a sub-folder of the base folder and not in a sub-folder of the original file. This is not only because it will cause change events to happen but if you are running a synchronization profile then you will get unexpected results for "dead" folders, i.e. folders that only exist because they contain versions. Why is my profile being run? © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 228 A common complaint is that SyncBack is running a profile even when the user believes it should not. This is usually because a new file has been created, or deleted, in a folder. Often these are temporary files, e.g. Microsoft Office files that start with ~$. When this happens, Windows tells SyncBack that a folder has changed. It does not indicate which file has been deleted or created, only that the contents of a folder has changed. If that folder is part of the profile then SyncBack has no choice but to run the profile as new files (or even folders) have been created or deleted, and it cannot know which unless it runs the profile to find out. Finding Problems If SyncBack is not being notified, by Windows, of changes then there is a way to discover why: · First, you must configure SyncBack to record errors in the Windows Event Log. To do this, start SyncBack and go to Global Settings in the burger menu then the Expert tab. Enable the option Use the Window Event Log and click OK. · Now make some changes to the folders that are to be watched for changes · Open the Windows Event Viewer (how to start it depends on the version of Windows being used, but typically it's in the Administrative Tools section of the Control Panel). · In the Event Viewer tree (on the left) navigate to Event Viewer (local) -> Applications and Services Logs -> SyncBackPro · Look for entries that are prefixed with MonitorErrorCallback in the error text (on the General tab). All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.30 When, Insert A profile can be configured to run whenever an external device is attached, e.g. a USB key is inserted. If Windows is assigning a random drive letter to the device when inserted please use the %LABEL% or %SERIAL% Variables. If you use these options you may want to configure SyncBack to start automatically when you login to Windows. · Run this profile when...: This set of options enables this profile to be automatically run whenever an external device is connected or USB memory key, etc. is attached to your computer. You can configure it to be broad, e.g. any device into any drive, or very specific, e.g. a drive with a specific label, serial number, and with a certain drive letter. You can use Windows environment variables in the label and serial settings, but you cannot use user defined profile variables. Note that there important differences between volume serial numbers and hardware serial numbers. See the HWSERIAL description in the Variables section for more details. · Run unattended, i.e. do not prompt me: If a profile is run via a device insert, by default it is run attended, i.e. dialog box and prompts related to the profile will be displayed when required. If this option is ticked then the profile will be run silently without any prompting. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 229 SyncBackPro Help Note that if this is a group profile then all the profiles in the group will be run attended or unattended, i.e. for a group this setting overrides the profiles setting. You can use wild cards for the label and serial numbers. For example, you can set the label to MyDisk* and then any disk inserted with a label that starts with MyDisk will start the profile. Also, the labels and serials are compared without case sensitivity. When mounting a Bitlocker drive or image, then a notification is sent to SyncBackPro twice: once when it is mounted/attached but no password has yet been supplied (so it cannot be accessed) and again once the correct password has been supplied. In the first call, the drive has no volume label or serial. Therefore, if you are watching for a Bitlocker drive/image to be mounted/attached, then it is recommended that you set the correct serial and/or label on this settings page. Finding Problems While on this settings page, if any drives are inserted or attached then a window will appear at the bottom of the settings page with details. This lets you check to make sure a drive can be detected correctly when it is attached or inserted. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.31 When, Periodically Running profiles in the background is similar to running profiles via the Windows Task Scheduler, except SyncBackPro must be running for background profiles to run. Also background profiles usually run much more frequently than scheduled tasks, e. g. every 30 minutes. If you use these options you may want to configure SyncBackPro to start automatically when you login to Windows. For example, you could create and configure a profile to run in the background every 30 minutes that makes a backup of the documents you are working on. This helps ensure that you lose the least amount of work possible if, for example, there was a power cut. For more details see the Automating SyncBackPro section. · Run this profile every...: This is the interval at which the profile will be run, e. g. every 30 minutes. · Only run the profile if the computer has been idle for at least...: If enabled then this specifies the amount of idle time must have passed before the profile is run. Idle time is the amount of time that the keyboard, mouse and any other input device has not been used. For example, you can specify that the profile is run every 30 minutes but only once the computer has been idle for 10 seconds. That would mean that even if it has been 30 minutes since the profile was last run it will not run until the computer has also been idle for at least 10 seconds. This setting is useful to make sure profiles are not run while you are using the computer. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 230 · Run interactively, i.e. prompt me if required: If a profile is in the background by default it is run unattended, i.e. dialog box and prompts related to the profile will not be displayed. If this option is ticked then you will be prompted as and when required. Note that if this is a group profile then all the profiles in the group will be run attended or unattended, i.e. for a group this setting overrides the profiles setting. · Warn me when exiting SyncBackPro...: If this option is enabled, and you exit SyncBackPro while a background profile is waiting to run, then you will be prompted as a reminder. · Queue Profile: If this option is enabled, the profile will not be executed immediately and will instead be added to the queue. · Only run the profile between these times: If this option is enabled then the profile will only be run between the times you specify, e.g. you may only want it to run in the early morning. · Only run the profile on these days: If this option is enabled then the profile will only be run on the days of the week you select, e.g. you may only want it to run on weekdays (Monday to Friday). It can be difficult, or impossible, to calculate when a profile will next run based on the settings used. In such cases the main window will not be able to state when the profile will next run. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.32 When, Time Limit In some cases, you may want to limit the amount of time a profile can run for. There are some important point to keep in mind when using this feature: · The time limit setting is ignored for simulated runs and when the profile is run in restore mode. · It cannot be guaranteed that the profile will be terminated within the time limit. For example, if the user is being prompted (e.g. the Differences window is being displayed) then the profile is only terminated after the window is closed. Also, during some situations the profile cannot be terminated, e.g. if there are network issues. · The time limit includes any paused time. For example, if the profile is run as part of a group (run sequentially, which is the default) then the profile is started paused and only continues once the previous profile in the order has finished. · If a profile is stopped because it has reached its time limit, and is run as part of a group (run sequentially), then all the other profiles in the group will also be stopped (which is the same as if the profile had been stopped manually). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 231 SyncBackPro Help · When a profile is part of a group then the earliest time limit is used. For example, if a profile has a time limit of 20 minutes, but the group it is in (and being run as a part of) has a time limit of 10 minutes, then the profile has a time limit of 10 minutes and not 20 minutes. This makes sense because the profile is being run as part of a group, and the group has a time limit, so the group itself will be terminated before the profile will be. · Stop the profile if it runs for more than...: If enabled, this is the maximum amount of time that the profile can run for. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.33 When, Program A profile can be configured to run whenever another programs starts or exits (closes). For example, you may want SyncBack to make a backup of your documents as soon as your word processor is closed. It can be configured to run interactively or silently. Also, you can have it monitor several programs. This profile settings page can use and create shared settings. Important: SyncBack uses features in Windows to detect when programs start or stop. If this feature is used then the CPU usage for the WmiPrvSE.exe service will average around 1% but may increase and get as high as 10%. This is a known drawback of using this feature. · Run this profile when any of the following programs start: The list-box lists all the programs that will trigger the profile if they start. To add to the list click the Add button. You can use variables, but you cannot use variables from a parent group. To remove one or more entries from the list first select them and then click the Remove button. Note that it will take up to 3 seconds to detect when a program starts. o Run interactively, i.e. prompt me if required: By default a profile is run unattended when one of the programs specified starts, i.e. dialog box and prompts related to the profile will not be displayed. If this option is ticked then you will be prompted as and when required. Note that if this is a group profile then all the profiles in the group will be run attended or unattended, i.e. for a group this setting overrides the profiles setting. · Run this profile when any of the following programs stop: The list-box lists all the programs that will trigger the profile if they stop/close/exit. To add to the list click the Add button. You can use variables, but you cannot use variables from a parent group. To remove one or more entries from the list first select them and then click the Remove button. Note that it will take up to 3 seconds to detect when a program stops. o Run interactively, i.e. prompt me if required: By default a program is run unattended when one of the programs specified stops, i.e. dialog box and prompts related to the profile will not be displayed. If this option is ticked then you will be prompted as and when © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 232 required. Note that if this is a group profile then all the profiles in the group will be run attended or unattended, i.e. for a group this setting overrides the profiles setting. Finding Problems While on this settings page, if any programs are started or stopped then a window will appear at the bottom of the settings page with details. This lets you check to make sure a program start/stop can be detected. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.34 When, Touch This settings page is only for groups. To run a profile when a device running SyncBack Touch is found see the SyncBack Touch settings page. · Run this profile when SyncBack Touch starts on the device: If enabled then the group profile will be run automatically if the device running SyncBack Touch is found on the local network. SyncBack will send out a UDP broadcast on port 24671 every 3 seconds, so if this UDP port is being blocked by a firewall then it won't be possible to find the devices. If a Touch device reconnects to the same network within 30 minutes then the profile will not be automatically run again. · Run unattended, i.e. do not prompt me: If you want the profile to run unattended when the device is detected then enable this checkbox. For details on firewalls and networks, refer to the SyncBack Touch settings page. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.35 Copy/Delete Define how SyncBackPro will handle the copying, deleting, and moving of files. The recommended, and default, copying method is Standard Windows file copying. Other copying methods are available as sometimes an alternative copying method may produce better results. SyncBackPro can optionally use the exact same routines for copying, deleting, and moving files that Windows File Explorer uses. This ensures that files are copied as expected, e.g. the file attributes are also copied which provide benefits such as putting deleted files in your Recycle Bin. File copying method: Various methods of copying (and deleting and moving) files are provided to allow for maximum compatibility and flexibility: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 233 SyncBackPro Help · Standard Windows file copying: This is the default method for copying files. It is the most efficient and quickest way to copy files. Not using the shell (see next item) may fix network problems, especially when using Novell networks. · Windows File Explorer method of file copying: The Windows Shell (Explorer) is asked to copy, delete, and move files on behalf of SyncBackPro. When using this method you have the benefit of moving deleted files to the recycle bin. Using the shell may cause problems when SyncBackPro is used on non-standard versions of Windows, e.g. BartPE. · Backup read/write file copying: This method (which can only be used by Windows users who have the necessary backup access rights if not then the Standard method is silently used) can be used to copy files that the user has no access rights to. So if you are receiving Access denied error messages you may want to try this method. Note that the backup copy method cannot be used with Zip files, FTP or the cloud (the Standard method will be used silently). · Memory map file copying: This copying method copies files using a memory map of the file. The benefits of this copy method are its low memory use and avoidance of caching. Note that this copy method is only used when copying files from one file system to another, and not when using Zip files, FTP, email, the cloud, etc. The Standard copy method will be used silently if it cannot be used. o Write through: If this option is enabled then the data is written directly to disk without any buffering. This applies even if a network disk is being used. Note that this will have a negative impact on performance, but is useful if you must be sure that data has been stored. The data is still cached (for reading) unless the option Stop Windows from caching a files contents when it is copied is enabled. o Threads to use: This option is not available with this copying method. o Buffer size (KBytes): When a file is copied, it is copied in blocks, and this setting defines the size of the block (in kilobytes). Blocks are stored in memory temporarily (the block is read from the source file and then immediately written to the destination file). The ideal block size depends on many factors, e.g. if using a network, but note that a large block size is not always best. · Read ahead file copying: This copying method copies files by asynchronously reading the source file and synchronously writing to the destination file. This method is best used when the source is slow, e.g. a network, and the destination is fast, e.g. an internal drive. Note that this copy method is only used when copying files from one file system to another, and not when using Zip files, FTP, email, the cloud, etc. The Standard copy method will be used silently if it cannot be used. o Write through: See Memory map file copying above. o Threads to use: This option is not available with this copying method. o Buffer size (KBytes): See Memory map file copying above. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 234 · Multi-threaded file copying: This copying method copies files by using multiple threads both for reading and writing. As with the read ahead method, it's best used when reading from a slow device and writing to a fast device. Note that this copy method is only used when copying files from one file system to another, and not when using Zip files, FTP, email, the cloud, etc. The Standard copy method will be used silently if it cannot be used. Also, if a file is too small to be copied using multiple threads then it will be copied using a single thread. What is considered small depends on the number of threads and the size of the buffer. o Write through: See Memory map file copying above. o Threads to use: By default 3 threads are used and the maximum is 128. Using too many threads will have a negative impact on performance. o Buffer size (KBytes): See Memory map file copying above. Summary of file copying methods Stan Explo Backup dard rer Copies extended Yes Yes Yes attributes (1) - extended attributes aren't normally used but are provided for backward compatibility with OS/2 applications. Copies OLE structured Yes Yes Yes storage (1) Copies alternate data streams (1) Yes Yes Yes Copies sparse files correctly No No Yes (1) Copies file attributes Yes Yes Yes Copies security attributes (2) Yes Yes Yes (3) (3) Copies encrypted files (5) Yes Yes Yes (4) Can copy files user has No no access to No Yes (9) Memory Map Yes Yes Yes Yes (1) Yes Yes (3) Yes (4) No Read Ahead Yes MultiThreaded Yes Yes Yes Yes (1) Yes Yes (3) Yes (4) No Yes Yes Yes (1) Yes Yes (3) Yes (4) No © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 235 SyncBackPro Help Deleted files can be No Yes No No No No moved to Recycle Bin (6) (8) File deletions or No Yes No No No No overwrites can be (6) confirmed first (8) Directory creation can No Yes No No No No be confirmed first (6) Copy Performance Fast Fast Slow Fast Fast Fast Copy progress feedback Yes No Yes Yes Yes Yes (7) (1) The destination must be an NTFS formatted volume. (2) The destination must be an NTFS or ReFS formatted volume, and if not a local volume then the security attributes may not be copied. (3) The destination must be an NTFS or ReFS formatted volume, and security attributes are only copied if the profile is configured to copy file security permissions. By default they are not copied. (4) The Standard method is automatically used to copy NTFS (EFS) encrypted files. (5) The copy may not be encrypted, e.g. if the destination is not NTFS. (6) Not enabled by default. (7) This means the copy progress is shown, meaning you can abort a file copy. Without progress feedback the profile can only be aborted after a file has been copied, not during the copy. (8) If you would like to keep files that are deleted or replaced then consider using versioning. (9) Not if the file is using NTFS (EFS) encryption. Shell File Copying & Deleting: The following options are only displayed if the 'File copying method' is set to Windows File Explorer method of file copying: · Move deleted files to recycle bin: If a file is deleted from a local drive (not a removable drive or network drive) it can be moved to the recycle bin instead of being deleted. This is identical to what would happen if you deleted the file using Windows File Explorer. · Confirm file deletions, replacing files, etc.: When a file is to be deleted or replaced by another file then you can be prompted on whether you want SyncBackPro to delete or replace the file. An important point to remember is that if you are using the recycle bin © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 236 (see the previous item) then you will not be prompted when a file is deleted (instead it is silently moved to the recycle bin). Also, if you are running the profile in unattended mode, e.g. from the Windows Scheduler, then you will not be prompted and the file will be deleted or replaced. If you would like to keep files that are deleted or replaced then consider using versioning. · Confirm directory creation: If a new directory must be created then you can be prompted on whether you want the directory to be created or not. If you are running the profile in unattended mode, e. g. from the Windows Scheduler, then you will not be prompted and the directory will be created. This option is only available if "Do not display a progress dialog box" is unchecked and "Display error messages and prompts" is enabled. · Display error messages: If an error occurs when a file is copied or deleted then you can choose to be prompted with an error message. Note that these error messages are also recorded in the profiles log file. If you are running the profile in unattended mode, e.g. from the Windows Scheduler, then you will not be prompted with any error messages. · Do not display a progress dialog box: When copying large files, using a slow network connection, or slow storage devices, it can sometimes take a long time to copy a file. If this option is enabled then the standard Windows file copy progress dialog box will be displayed (it is only displayed if a file copy will take more than a few seconds). The benefit of this dialog box is that you can cancel the file copy, for example it may be taking too long, and you can see how long it will take to copy the file. If you are running the profile in unattended mode, e.g. from the Windows Scheduler, then the progress dialog box will not be displayed. Please note that on some systems disabling this option may drastically reduce performance. · Verify that files are copied correctly: After a file is copied, SyncBackPro can check to guarantee that the newly created file is identical to the original file. You can specify what files should and/or should not be verified by clicking the Verify Filter button. Enabling this option can significantly increase the time taken for a profile to run. If you must enable it then consider changing the verification filters to avoid verifying noncritical files. Note that this option will not work if you are using an FTP server that does not support the XCRC extension (the log will contain the warning message "The FTP server does not support hashing"). It's also not possible when using an SFTP server, copying emails from an email server, or when using AES encryption with Zip files. For SFTP servers, the protocol includes integrity checks so there is no need for verification. When moving files, if the copy cannot be verified, then the source file is not deleted, i.e. it becomes a copy not a move. The verification option is best used with the Make safe copies option also enabled as it ensures that your backup doesn't contain corrupted files. If both these options are enabled then when a file is copied it is first copied to a temporary file, i.e. the destination file is not yet overwritten. If the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 237 SyncBackPro Help temporary file does not match the original file then the temporary file is deleted and an error is recorded. Without the safe copies option you will know the copy is corrupt but by then it is too late as the file has already been replaced with a corrupted file. o Do not verify files in parallel: If both files are stored on a normal file system (i.e. not in the cloud, on an FTP server, etc), and are over a certain size, and are on different physical drives, then SyncBack reduces the verification time by verifying the file in parallel. This means it reads both files at the same time instead of reading one file and then reading the other. In the majority of situations this is the optimal solution. However, in some rare cases it can cause problems. If you get errors such as Thread Error: Invalid Handle (6) then you should enable this option to resolve the issue. Note that this setting is the same as the Do not compare files in parallel setting on the Compare Options settings page. o Verify Filter: You can specify what files should and/or should not be verified by clicking the Verify Filter button. For example, you may only want to verify your documents but not executable files. See the Filter Settings page for details of how to specify filters. · Automatically create the source/left and destination/right folders if they do not exist: By default the source/left and destination/right folders will be created automatically if they don't exist. However, in some situations you may not want this, e.g. if using an Intelligent Synchronization profile, and instead want the profile to fail if either folders don't exist. · When copying files, stop other processes from modifying them during the copy: By default, when SyncBackPro copies a file, it locks it against modification by other processes on the system. This is also used when compressing files. It is not recommended that this setting be disabled. If it is, then a file may be changed while it is being copied, resulting in a corrupted copy of the file. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.36 Copy/Delete, Folders Define how SyncBackPro will manage folders (directories). · Copy sub-directory and file security permissions (only valid for NTFS): If ticked then folder security is copied when directories are created and files are copied. If you want to detect changes to a file or folders security you must enable the option Compare file and folder security on the Compare Options->Security settings page. Note that you must copy what you compare, i.e. you cannot compare group security if you have not set it to copy group security. Although NTFS is mentioned explicitly, it is also valid for ReFS. The following check-boxes define what security is copied and compared: · Owner: The owner of the file or folder. · Primary Group: The primary group of the file or folder. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 238 · Discretionary Access Control List (DACL): The discretionary access control list identifies the trustees that are allowed or denied access to a securable object. · System Access Control List (SACL): The system access control list enables administrators to log attempts to access a secured object. It is recommended that you leave this unchecked. · Copy sub-directory attributes and creation date (only when new directories are created): If ticked then folder attributes and the creation date are copied when new directories are created. Note that if the attributes or creation date are changed on a folder then the new settings are not copied over. · Delete all the empty directories on destination/right: If ticked then all empty directories in the destination/right will be deleted at the end of the profile run (see notes below about the base folder). Note that a folder will not be deleted if it has files in it, including any hidden files or file versions. You can configure which files SyncBackPro can automatically delete to make a folder empty with the "If a folder cannot be deleted because it's not empty..." setting below. Using this option is not recommended. The preferred, and quicker, method of deleting empty folders is via the Decisions settings page. o Do not delete the empty directories if the profile run fails: By default empty folders are not deleted if the profile run was not a success. · Delete all the empty directories on source/left: If ticked then all empty directories in the source/left will be deleted at the end of the profile run (see notes below about the base folder). Note that a folder will not be deleted if it has files in it, including any hidden files or file versions. You can configure which files SyncBackPro can automatically delete to make a folder empty with the "If a folder cannot be deleted because it's not empty..." setting below. o Do not delete the empty directories if the profile run fails: By default empty folders are not deleted in the profile run was not a success. · When the desktop.ini file (used by Explorer) is copied configure the folder it is copied to to use it: The desktop.ini file is a special file created and managed by Windows File Explorer. It helps define what a folder looks like when viewed in Windows File Explorer. It is only used if the folders attributes are set correctly. You can tell SyncBackPro to automatically set the correct folder attributes if a desktop.ini file is copied to it. If you have desktop.ini filtered out, then desktop.ini is shown in yellow in the filters window. Note that the desktop.ini file does not entirely define the appearance of a folder in Windows File Explorer. · If a folder cannot be deleted because it's not empty...: Only empty folders can be deleted. Windows File Explorer often creates special hidden files in folders that contain settings related to that folder but contain no user created information. This setting defines which files can be deleted to make a folder empty. By default the thumbs.db and desktop.ini files will be deleted, along with temporary SyncBackPro files. Note these files are only deleted if they are the only files in the folder. Wildcards can be used, e.g. *.tmp © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 239 SyncBackPro Help Delete all the empty directories and the base folder When the option to delete all the empty directories is enabled then SyncBackPro may or may not delete the base folder. This depends on two factors: 1. If the base folder is a junction or reparse point then the base folder will not be deleted. 2. If the option to automatically create the base folders is not enabled, then the base folder will not be deleted. So if the base folder is empty, and is not a junction or reparse point, and the option to automatically create the base folders is enabled, then the base folder will be deleted. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.37 Copy/Delete, Advanced · Automatically update shortcuts when they are copied or moved: SyncBack can be configured to automatically change shortcuts that are copied so that the copy points to the correct file. For example, if your source is C:\ and your destination is D:\ and you copy a shortcut that points to C:\abc.txt then you may want it to be changed (in the destination) to instead point to D:\abc.txt. In this example you would set the root folder for shortcuts on the source/left to C:\ and the root folder for shortcuts on the destination/right to D:\. In general the shortcut root folder is the same the source and destination folders, except when you are copying to UNC paths or network drives. In that case the shortcut root folder should be based on the drive on that remote computer. · Make safe copies (copy files using a temporary filename and then rename the file on success - reduces performance): When this option is ticked then SyncBackPro will copy files in a two stage process: first it will copy the file and use a temporary filename, then it will then replace the destination file with the temporary copy if the copy was a success. This avoids problems where the destination file may be deleted because the original file could not be copied, e.g. because it is locked and cannot be replaced. With FTP it is actually a three stage process as it must delete the file being replaced before renaming the temporary copy. With multi-zip (where the destination is a normal drive and not FTP etc.), safe copying is always used when creating the compressed file. When copying to the cloud, safe copying is not used due to the way cloud services work (an uploaded file may not appear immediately). This option is enabled by default and is recommended. If you have enabled versioning, on either the source or destination, then you cannot change this setting as safe copies must be used when versioning is used. We strongly recommend using the safe copy feature to avoid corrupting your backup files due to unpredictable failures or errors. However, there may be cases where performance is the most important factor. If you are copying thousands of files, especially small files, or you are copying over a network (this includes FTP and the cloud) then switching off safe copies can significantly reduce the backup time. Note that if you are using versioning then you cannot switch off safe copies (as versioning requires its use). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 240 · Prompt to retry if source/left or destination/right drives do not exist: If a drive does not exist, e.g. because it has not been connected or the network connection is not available, then a prompt will be displayed. Note that if the profile is run unattended then no prompt is displayed and the profile will fail. · If a file cannot be copied because of security (Access Denied) then try Backup Read/Write copy method: The Backup Read/Write file copying method lets a user (who is a member of the Backup Operators user group) backup files that they have no access to. When this option is enabled if a file cannot be copied because you have no access rights to it then the backup method is used to try and bypass the file security. · Copy NTFS sparse files using Backup Read/Write copy method: The Backup Read/Write file copying method lets a user (who is a member of the Backup Operators user group) backup NTFS sparse files correctly (assuming the destination supports NTFS sparse files). When this option is enabled, and the file being copied is a sparse file, then the backup method is used to correctly copy the file. Note that sparse files will still be copied, and be valid and not corrupt, without using the backup read/write copy method, but the copy would no longer be sparse and therefore using more disk space. · Force the file modification date & time to be correct (may be required when using SAMBA or network drives): Sometimes the file system that files are copied to cannot correctly record the files last modification date & time. For example, when using SAMBA shares (or some NAS devices) there can be occasions when the file will have the current date & time as it's last modification date & time. To resolve this SyncBackPro can forcibly change the copies last modification and creation dates & times to be correct. The dates and times will be as accurate as Windows allows (within 100 nanoseconds), but note that file systems have different limitations on accuracy. This option is only available when copying from one file system to another, and not when using compression, the cloud, FTP, etc. There is another option (see the Compare Options, Date & Time page) to ask SyncBackPro to ignore small date & time differences. This can also be useful in avoiding problems where the file system cannot accurately record dates & times. · Copy file creation date & times: By default copies of files are given the current date & time as their creation date & time. If this option is enabled then the creation date & time is copied. Note that FTP servers cannot store file creation date & times. · Copy last access date & times: By default the last access date and time is not copied. If this option is enabled then the last access date & time is copied. Note that in many cases, e.g. when using non-NTFS file systems, FTP and SFTP servers, etc., it is not possible to use the last access date & time because it is not supported by the service or file system. · Reset the archive file attribute on files once they have been copied: When enabled the archive attribute on a file, both on the source/left and destination/right, will be cleared once the file has been copied. Enabling this option will slightly decrease performance. This option is not available when doing Fast Backups. · Remove the read-only attribute from copies of files (useful when copying from a CDROM): In some situations, when a file is copied from a CD/DVD, then the file may © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 241 SyncBackPro Help automatically be marked as read-only (not by SyncBack, but by the file system driver in Windows). If this option is enabled then any read-only flag put on the copy of the file will be removed automatically. · Delete ALL the files and folders in source/left before scanning for changes: This option should be used with extreme care! It will delete all files and folders in the source/left folder before it scans for changes. Be extremely careful with this option as you could very easily delete all your files, e.g. if your source/left is C:\ then you will delete every single file on your C: drive. You have been warned. · Delete ALL the files and folders in destination/right before scanning for changes: This option should be used with extreme care! It will delete all files and folders in the destination/right folder before it scans for changes (if the destination/right is a single Zip file then just the Zip file will be deleted). Be extremely careful with this option as you could very easily delete all your files, e.g. if your destination/right is C:\ then you will delete every single file on your C: drive. You have been warned. When using cloud services such as Google Drive and Box you need to be extremely careful with this option. The same folder can be referenced from many other folders. This means you could potentially delete files and folders that are not just in your source/left or destination/right. · Copy symbolic links as-is instead of copying the file the link points to: If enabled, and a symbolic link file is being copied, then instead of copying the file the link points to it copies the link. This means the link on the destination will point to the same file the source link points to. Because of this you may want to make sure the symbolic links are relative and not absolute. For example, let's say you have a symbolic link on the source that points to C: \abc\def.txt. When copied to the destination the destination link will still point to that same file. However, if the link was relative and instead pointed to ..\def.txt then the destination copy of that link would defer to the def.txt file on the destination. This option is only available when the Standard Windows File Copy method is being used, and is only used when copying between NTFS or ReFS file systems. · Copy short filenames (not used for compression, FTP, etc.): If enabled, when a file is copied from one file system to another then if the file has a short filename it will also be copied. Short filenames are a legacy feature of Windows and are there to help old software remain compatible. Note that this setting is ignored when used with FTP, compression, the cloud, etc. Also, enabling this setting will have an affect on performance. This option is not enabled by default. · Stop Windows from caching a files contents when it is copied: If enabled, when a file is copied from one file system to another then SyncBackPro will tell Windows not to cache the contents of the file in memory. If you are copying large files, or want to reduce the memory load on the system, then it is recommended you enable this option. This option is only available on when the standard, memory map, read-ahead or threaded file copy methods are being used and is only used when copying between file systems. · Number of files to delete in parallel: When SyncBackPro deletes files on internal, external or network drives, then they are deleted serially, i.e. one after another. In some © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 242 cases, it may be faster to delete files in parallel. To delete files in parallel, increase this value. A value which is too high will have the opposite of the desired outcome, i.e. it will slow down the profile. This setting is ignored in some situations, e.g. if versioning is being used. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.38 Copy/Delete, Locked · Prompt to retry if a file is locked or cannot be copied: If this option is enabled then SyncBackPro will prompt you if it cannot copy or delete a file, e.g. because it is locked, no access rights, etc. The prompt gives you the opportunity to close the program that has the file locked so the file can be copied or deleted by SyncBackPro. If you are running the profile in unattended mode, e.g. from the Windows Scheduler, then no prompt is made and the file will be skipped (an error message will be recorded in the log file). There is another option in SyncBackPro to close certain programs before a profile is run (see the Auto-close page). Note that if you've also enabled the option to replace/delete after a reboot then you will not be prompted. · If a file cannot be replaced/deleted because it is locked then replace/delete it after a reboot: If a file cannot be replaced/deleted because it is locked then SyncBack can configure Windows so that on the next reboot the file will be replaced/deleted. This option must be used with care because it cannot be guaranteed that the file will actually be replaced/deleted and there is no way to know if it did or did not. Note that if you've also enabled the option to prompt to retry if a locked file cannot be copied then you will not be prompted. These features cannot be used to replace in-use files on FTP servers. Also, if NTFS compression is being used the replaced file will not be NTFS compressed. · Do not use the Volume Shadow Copy service (VSS) to copy open files: SyncBack can copy open/locked files by using the Volume Shadow Copy service that is part of Windows. However, if you cannot or don't wish to use this service then you can enable this option. · Copy all files in [source/destination] from the shadow volume (snapshot): SyncBack can optionally copy all files from the shadow volume (by using the Volume Shadow Copy service). This is useful when you want all the files to be copied at exactly the same time so you have a consistent file state across the backup set. A snapshot is taken of the drive at a single point in time so that essentially the files are frozen at that point. This does not stop users and other programs from modifying and deleting those files because they are changing files on the actual volume and not the shadow volume. It is recommended that this setting be used in situations where you have a set of files that are related to each other, e.g. backup of a set of database files. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 243 SyncBackPro Help 3.3.39 Copy/Delete, Network · Silently fail if source/left cannot be reached through the network, drive does not exist, or there is no disk: When enabled, and the source/left drive cannot be accessed, then the profile will silently fail when run. No log file will be produced, and no failure result will be recorded. This option is useful when you have a profile scheduled to run periodically but are not always connected to the source/left. Enabling this option has an important change on the order of execution (see below). · Silently fail if destination/right cannot be reached through the network, drive does not exist, or there is no disk: When enabled, and the destination/right drive cannot be accessed, then the profile will silently fail when run. No log file will be produced, and no failure result will be recorded. This option is useful when you have a profile scheduled to run periodically but are not always connected to the destination/right, e.g. you backup to a network drive via a wireless network connection. If the destination is an email server, FTP server, or a cloud service, then SyncBack will attempt to connect to the server (at the relevant address and port) to see if it can be accessed. In previous versions a ping was used instead, but often pings are blocked by routers and firewalls. Enabling this option has an important change on the order of execution (see below). If the silently fail option is enabled then it changes when SyncBack connects to the network. With it enabled it will attempt to connect to the network almost immediately. If it is not enabled (the default) then SyncBack connects to the network at a later stage (after any media is loaded, after any profile pause, after any Run Before and after any shadow volume(s) are created. · If possible resume a broken file transfer when a profile is re-started (may slow profile): This option is only available when using FTP or normal file systems. When enabled, if a profile stops because the network connection is lost, for example, and a file transfer is in progress, then when the profile is next run it will attempt to resume the upload/download. If FTP is being used then the FTP server must support the resume feature. Note that when copying files across Windows networks then enabling this option can slow down file copying, therefore it is only recommended enabling this option if very large files are being copied across a network and there is a chance the connection will be broken. If a profile is aborted then no attempt will be made to resume a file transfer. · Silently fail if no network connection is detected by Windows: You may want your profile to only run if there is a network connection, e.g. you are using a laptop computer. If this option is enabled then when the profile is run a check is made to see if there is a network connection. If not the profile will silently fail to run. Windows performs the check for network connectivity and it decides if there is a network connection, which can be a local network (LAN) or Internet connection (WAN). If you want the profile to only run if there is an Internet connection, then see the next option. · Silently fail if no Internet connection is detected by Windows: You may want your profile to only run if there is an Internet connection. If this option is enabled then when the profile is run a check is made to see if there is an Internet connection. If not the profile will © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 244 silently fail to run. Windows performs the check for Internet connectivity and it decides if there is a connection. · Silently fail if Windows IS NOT connected to the following network: You may want your profile to only run if there is a specific network connection. For example, you only want the profile to run if you are in your office. If this option is enabled then when the profile is run a check is made to see if there is a connection to the specified network. If not the profile will silently fail to run. Windows performs the check for network connectivity and it decides if there is a connection. · Silently fail if Windows IS connected to the following network: You may want your profile to not run if it is connected to a specific network connection. For example, you do not want the profile to run if you are at home. If this option is enabled then when the profile is run a check is made to see if there is a connection to the specified network. If so the profile will silently fail to run. Windows performs the check for network connectivity and it decides if there is a connection. · Limit bandwidth usage to...: If a value above zero is entered then when copying files the bandwidth usage is limited to what is specified (kilobytes per second). Note that there are some cases where the bandwidth usage cannot be limited, e.g. when using compression. Note that this bandwidth is used even when copying files to internal or external drives, as well as to other computers or NAS devices. There is a separate setting to limit the FTP bandwidth usage on the FTP, Advanced page and also one for the Cloud. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.40 Copy/Delete, Warning Define if SyncBackPro will warn about certain file actions, e.g. deletion of too many files. These settings can help avoid cases where something has gone wrong and so the profile should not be run. · Warn me (abort profile if unattended) if 100% or more of my files are going to be deleted due to my settings: In some situations you may have wrongly configured your profile or made a mistake. For example, you may have set the source folder incorrectly to an empty folder and configured your profile to delete all files in the destination that are only in the destination. In this case when you run the profile all your destination files would be deleted. This setting is to avoid situations like this. You may also want to make sure that no files are going to be deleted. If SyncBackPro sees that it is going to delete the specified percentage of your files then it will automatically abort the profile and do nothing (if the run is unattended). If the profile is being run attended then a warning message will appear so that you can choose to abort or not. This setting is enabled by default and set at 100%, i.e. it will only abort/warn if all your files are going to be deleted. If you want to abort or be warned if any files are to be deleted then set the value to 0%. Otherwise, it will only abort/warn if the specified percentage (or more) of your files are going to be deleted. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 245 SyncBackPro Help · Warn me (abort profile if unattended) if 100% or more of my source/left files are going to be deleted due to my settings: The first setting applies to all files no matter where they are, but this setting only applies to files that are in the source/left. For example: you have 10 files. 5 of them are both in the source/left and destination/right, 3 are only in the source/left and 2 are only in the destination/right. In this case 80% of your files are in the source/left (8 out of 10) and 70% (7 out of 10) are in the destination/right. · Warn me (abort profile if unattended) if 100% or more of my destination/right files are going to be deleted due to my settings: This is the same as the above setting except it applies to destination/right files. · Warn me (abort profile if unattended) if 100% or more of my source/left files are going to be updated due to my settings: This is similar to the "going to be deleted" setting, except it refers to existing files (on the source/left) that are going to be replaced with files on the destination/right. SyncBackPro looks at how many files are on both the source/left and destination/right and compares that to how many are being copied and/or moved (and so are going to replace an existing file). For example, if you have a file on both the source and destination, and it is going to be copied (or moved) to the destination, then that is a changed file. If you have a new file on the source, that does not yet exist on the destination, then that is not considered a changed file. · Warn me (abort profile if unattended) if 100% or more of my destination/right files are going to be updated due to my settings: This is the same as the above setting except it applies to destination/right files, i.e. files on the destination that will be replaced with files from the source. · Warn me (abort profile if unattended) if 100% or more of my files are going to be copied/moved due to my settings: This is setting can be used to check if too many files are going to be copied or moved (either to or from the source or destination). Typically you would not use this setting, but it can be useful in situations where you want to check that everything has been copied/moved with a special profile. With SyncBackPro you can also create scripts to stop a profile from continuing based on certain conditions. See the RunPreCopyCheck function and the example script PreCopyExample.vbs All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.41 Versioning For a description of versioning see the section What Is Versioning below. Versioning cannot be used (on the destination) when compressing to a single Zip file. Some cloud storage services, e.g. OneDrive for Business, forcibly enable their own native file versioning. The storage space used by these file versions is counted in your quota (unlike services like Dropbox that do not count it). Because of this you may want to configure SyncBackPro to automatically purge excess versions, if possible. See the Automatically delete excess versions on destination/right option below. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 246 · Enable versioning on source/left/destination/right: If enabled, versions of files will be kept in that location. You can, for example, choose to only keep versions in the destination/right. · Where versions files are stored...: This setting defines where the versions files are kept. They are either kept in a sub-folder of each folder, or kept within a folder in the source/destination. Once you choose a setting it is not recommended that you change it otherwise you will no longer have access to your versions. · When to version...: This setting defines when SyncBackPro should make a version of a file. By default, versions of deleted and replaced files are kept. However, you may only want to keep versions of deleted files, or only keep versions of replaced files. · Automatically delete excess versions on destination/right: Some cloud storage services, e.g. OneDrive for Business, forcibly enable their own native file versioning. The storage space used by these file versions is counted in your quota (unlike services like Dropbox that do not count it). Because of this you may want to configure SyncBackPro to automatically purge excess versions, if possible. To have SyncBackPro purge them, enable this option and then set the number of versions to keep below. · Keep a maximum of x versions: The number of versions of a file to keep can be specified here. Note that obviously the more versions of files you keep the more disk space will be used. When the profile is next run it will automatically delete any excessive versions (starting with the oldest version). If you are using delta versions refer to the notes on how many versions are kept. If the value is set to zero then versions are never deleted based on the number of versions (except when using Backblaze B2 or the option Automatically delete excess versions above is enabled, when zero means keep no versions). If you are using Backblaze B2 then the default is 32. You can also set the life-cycle rules for files stored within a Backblaze B2 bucket. · Keep versions for a maximum of x days: When a version of a file is made the date & time when the version was made is recorded. Note that this is not the last modification date & time of the file, nor is it the creation date & time of the file, it is the date & time when the version was made. Using this option you can specify how long a version should be kept. Once the version is older than the specified number of days it is automatically deleted when the profile is next run. If the value is set to zero then versions are never deleted based on their age. If you are using delta versions refer to the notes on how many versions are kept. · Version Filter: When this button is clicked you can choose what types of files are versioned or not. The filter applies to versions on the source/left and destination/right. For example, entering *.exe and *\temp\* in the "Files NOT to version" field will not version any EXE files, or any files in sub-folders called \temp\. Versioning is available in Expert Mode and is associated with the Copy/Delete settings. If you are using Backblaze B2 then you can only decide on the number of versions to keep. Use zero if you want your bucket life-cycle rules to manage the versioning. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 247 SyncBackPro Help What is Versioning? A version of a file is automatically created when one the following actions occurs, and depending on the settings When to version...: · A file is to be replaced (a copy of the file to be replaced is made before it is replaced) · A file is to be deleted (a copy of the file to be deleted is made before it is deleted) · A file is to be moved (a copy of the file to be moved is made before it is moved, which is essentially the same as being deleted) Assuming versioning is enabled, here are some examples of how it works: · You choose to delete a file. SyncBack makes a version of the file and then deletes the file. At a later time you may decide that you actually wanted to keep that file. If so you can run the profile and retrieve the version and so restore the file. · You make some modifications to a document then make a backup of it. SyncBack will make a version of the backup file that is about to be replaced then make the backup. At a later time you may decide that you did not want those changes. If so you can run the profile and retrieve the version and so restore the file to before the changes were made. Where are the version files kept? Where the versions files are kept depends on the choice you made: · In a hidden sub-folder of the folder that contains the original file: The versions of files are kept in a special hidden sub-folder called $SBV$. Each folder will have this special subfolder if there any versions of files in that folder. SyncBack will automatically mark the folder as hidden when it creates it. You should not rename the folder or the files inside it otherwise the versions files cannot be used. You are free to delete the folder and the version files in it (you will obviously lose those versions) but it will not affect SyncBack as no database of those versions files is kept (it is always built at profile run time). · In a hidden sub-folder of the base folder: The versions of files are kept in a special hidden folder called $SBV$ which is in the base folder. For example, if your destination directory is X:\My Backup\Documents\ then the versions folder will be X:\My Backup\Documents\$SBV$\. You should not rename the folder or the files inside it otherwise the versions files cannot be used. You are free to delete the folder and the version files in it (you will obviously lose those versions) but it will not affect SyncBack as no database of those versions files is kept (it is always built at profile run time). When deciding where to keep the versions files, please consider the following: · In a hidden sub-folder of the folder that contains the original file: If you have more than one profile that is using the same folder, and is using versioning, then the advantage of © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 248 choosing this option is that all the profiles will have access to the same versions. Another advantage is that you can change the base folder and not lose the versions (as long as they are still sub-folders). The disadvantage of choosing this option is that it becomes impossible for SyncBack to know if a directory is truly empty or not. For example, if there are versions of files in the folder, but no actual files (e.g. they've all been deleted), then SyncBack does not know if the folder should be left empty of whether it shouldn't exist. This has implications for Intelligent Synchronization profiles as it may cause empty folders to be created on the opposite side when you don't want them. · In a hidden sub-folder of the base folder: The advantage of this option is that it removes the "empty folder" issue. This is because the versions are not stored in a sub-folder of the actual folder, so the actual folder can be deleted without affecting the versions. A disadvantage of this option is that the versions folder is pinned to the source/destination folder, so if you change the source/destination folder then you lose the versions. Also, if more than one profile is using the same folders then they will not share the versions (unless the source/destination path is the same). Changing where to store the versions will result in losing those versions. If you are using Backblaze B2 then you cannot choose where to store the versions (B2 manages it). How to Restore Versions Versions can be restored from the Differences window (or from the File Collision window). When a profile is run as a Restore, and versioning is used, the Differences window will automatically show skipped files. This allows you to restore old versions of files that no longer exist, and restore versions of files where there is no change. If you wish to restore versions without using Restore (e.g. you are using an Intelligent Synchronization profile and so cannot run it in Restore mode) then select the profile in the main window, then select Run Attended (Ctrl-R) from the drop-down menu on the Run button. This will ensure the Differences window is shown. You then need to enable it to show skipped files (see the Filter tab at the top of the Differences window to see the options). See the Differences help page for details on retrieving versions of files. If you are using Backblaze B2 then you must use the Backblaze B2 web interface to change and restore versions. Frequently Asked Questions Q: Can versioning be used with Fast Backups? A: Yes, but it can greatly reduce the performance gains you get with Fast Backup. If your profile is configured to display the Differences window then it is recommended you switch off this option as displaying the Differences window forces SyncBack to scan every folder to see which versions are available for each file. Q: Can versioning be used with Intelligent Synchronization profiles? A: Yes. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 249 SyncBackPro Help Q: Can versioning be used with single zip files? A: No. Q: What if I switch from not using compression to compressing each file into its own zip file (or vice-versa)? A: You will be warned that you can no longer use the existing versions. This is because if compression is used then the old versions are also stored compressed (and encrypted, if configured so). If no compression is used then the versions are not stored compressed. Q: What if I switch off versioning? What happens to the versions files? A: If a profile does not use any versioning (on the source/left or destination/right) then the old versions files will be treated like any other kind of file. If you were using versioning on both the source/left and destination/right, and then switched off versioning on one side, then the old versions on that side are ignored. For example, if you had versioning on the source/left and destination/right, and then switched off versioning in the source/left, then the old versions files in the source/left will be ignored, i.e. SyncBack will pretend those files do not exist. Q: What if I change where versions are stored? What happens to the versions files? A: You will lose access to the existing versions. You must manually delete the versions files, or configure your profile to ignore the $SBV$ folders. Q: Are the versions stored compressed or encrypted? A: Only if the files themselves are. When using delta versions, the delta files are compressed. Q: Why aren't the versions stored compressed? A: Because it would slow down the profile considerably. When using delta versions, the delta files are compressed. Q: What if I decrease the number of versions to keep, or how long they are kept? A: When the profile is next run any excess versions will be automatically deleted. Q: Which versions are deleted first? A: Assuming you have set a maximum number of versions, then any excess versions are deleted (starting with the oldest version). If you have set a maximum age, then any versions over that age are deleted next. If you are using delta versioning, refer to the notes. Q: Can I choose to store the versions in a directory I choose? A: No. Q: What if I change the source/left and/or destination/right path? Are the versions files automatically moved? A: No (this is the same as using variables). Q: What if I used variables in the source/left and/or destination/right path? A: If versions are kept in a sub-folder of where the original file actually is, then using variables has no effect, except obviously the versions files will be scattered across various folders based on the variable values. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 250 Q: If a folder is filtered out (or unselected) does SyncBack still manage the versions in that folder? A: No, because the profile is specifically configured not to use that folder. Q: If a file is filtered out (or unselected) does SyncBack still manage the versions in that folder? A: Yes. When looking at file versions it ignores any filtering or selection rules. This makes sense because the original file may no longer exist anyway, for example. Q: Does versioning affect performance? A: Normally it has a very small effect on performance (unless you are using delta versioning). SyncBack has been developed to make versions as quickly as possible. However, there are cases where a version cannot be made quickly (i.e. the file to be replaced or deleted has to be copied, instead of being moved, in which case it can affect performance if the file is large). Note that if you are using Fast Backups then enabling versioning on the destination can greatly reduce the performance gains you get with Fast Backup. Q: My log file has the error "The profile "profile name" was automatically disabled: reason why disabled." What do I do? A: What happened is that a version of the file was made (i.e. it was moved into the versions sub-folder, called $SBV$), but the copy failed. SyncBack then attempted to move the file back from the versions sub-folder to where it was originally. However, something went wrong and the file cannot be moved back. You must manually move the file back from the $SBV$ folder to its parent folder and rename it. Once done you should re-enable the profile via the main window (right-click on the profile and select Enable from the pop-up menu). This situation is extremely unlikely to happen. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.42 Versioning, Delta Delta versioning is an enhancement to versioning so that only the differences between files are stored. This can save a considerable amount of storage space with large files such as virtual machines and databases. What is Delta? Delta-copy is the process of storing just the differences between two versions of a file. For example, you have a large virtual machine file and make a backup of it. SyncBackPro will copy the entire file to your backup folder. Later, you update your virtual machine and run your profile to make another backup. This time, SyncBackPro will create a patch file (a delta) that contains just the differences between the original backup file and the new (updated) virtual machine file. If you repeat this step (change the virtual machine file, run the profile) then SyncBackPro will create a patch file with the differences between the original file (the first version of the file) and the new (updated) virtual machine file. So in the backup you have the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 251 SyncBackPro Help original file (version 1) and two patch files (version 2 and version 3). The patch files are considerably smaller in size than the original files because they only contain the changes, so storage space is saved. Patch files are also compressed, saving even more storage space. Using delta-copy only makes sense with large files (e.g. databases, virtual machines, Outlook PST files, etc.) and when you want to save storage space or the backup is on a slow network connection. Delta versioning is only available if: · Versioning is enabled. For example, you cannot enable delta versioning in the destination unless versioning is enabled for the destination. · You cannot have delta versioning on both the source/left and destination/right. · It can only be used with file systems, e.g. to local, external or network drives. In future versions, cloud and FTP will also be supported. · It cannot be used in the destination/right with Fast Backup. · It cannot be used with compression. You should not use delta versioning if: · Performance is important. Creating delta versions can be a time consuming process. If you enable delta versioning in the destination, then you must not change or delete the files in the destination. The same rule applies to the source. If you do then it will cause serious problems. SyncBackPro relies on the hash files it produces to create the delta patch files. Those hash files are a fingerprint of the file they represent, so if you change the files contents then the hash file is invalid for that file, which means the delta patch file is invalid. You should use consider using delta versioning if: · Limiting the use of backup storage space is more important than performance. · You are backing up very large files, e.g. virtual machines. Settings The delta versioning settings are: · Enable delta versioning on Source/Left: If enabled, and they meet the criteria defined above, versions will be delta versioned. · Enable delta versioning on Destination/Right: If enabled, and they meet the criteria defined above, versions will be delta versioned. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 252 · Minimum file size (MBytes) for a delta to be created: Files smaller than the size specified will not be delta versioned. The default value is 250MB and the minimum value is 10MB. · Disk space to use (MBytes) to cache delta hash files: As part of the delta creation process, SyncBackPro needs to create and read hash files. Hash files are special files that allow SyncBackPro to create delta (patch) files without needing the original files. Hash files are considerably smaller than the original files. For example, the hash file for a 15MB file is just 38KB. These hash files will be stored in the default temporary files directory. · Delta Filter: On the Versioning settings pages you can choose which types of files are versioned. If you click this button, you can specify which of those will be delta versioned. By default, all files that are versioned will be delta versioned. It is not recommended to create delta versions for compressed file types, e.g. JPG images, Zip files, etc., or for encrypted files. This is because the difference between versions of such files can be substantial. Keeping Versions With delta versioning, three types of version files are kept: base files (which are the same as the original file), patch files and hash files. There is one hash file per base file, and one or more patch files per base file. When a base file is deleted, the hash file is also deleted. A base file is not deleted until all the patch files are deleted. Hash files are not versions, but support files required as part of the delta versioning process. Base files and patch files are versions. Because of the relationship between base files and patch files (patch files need a base file), patch files are always deleted before a base file is deleted. A base file cannot be deleted until all the patch files using it are deleted, because without a base file a patch file is useless. This rule means that newer versions can be deleted before older versions. For example: 1. The first version of a file is made. As it's the first version, it's a base file (i.e. the complete file). 2. The second version of a file is made. This is a patch file (i.e. the differences between the modified file and the base file). 3. If you have set SyncBackPro to keep just one version of a file, then it is the patch file that will be deleted. This means the older version (the base file) is kept. Because of this, it is recommended that at least 2 versions are kept. How to Restore Delta Versions Restoring from delta versions is straight forward. If a file is copied from a delta version to the other location, e.g. via restore or changing the action in the Differences window, then SyncBackPro will copy the file across and rebuild it. There is nothing you need to do. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 253 SyncBackPro Help All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.43 Integrity Check SyncBackPro can record file integrity data, e.g. hash values, of your backup files so that in future you can verify that the backup files have not been tampered with or deleted. This is especially useful when archiving data so that you can check, months or years later, that the archive is intact and valid. File Integrity cannot be used with backup of email, single zip compression, MTP or SFTP. It can be used with FTP and FTPS, as long as the FTP server supports file hashing. For example, you create a backup profile to backup your photographs to a cloud service. Before running the profile, you enable file integrity for files the destination/right. There's no need to enable it for the source/left because you are not copying files from the cloud. If you already have a backup profile, and have already run it, then you'd also enable the Calculate the file integrity for files that have none option (for the destination/right). When the profile is next run, SyncBackPro will record file integrity information for the files copied to the cloud (and for those backup files that are already there, if you've enabled the option to calculate it for those that have none). The file integrity information will be recorded and update every time the profile is run. Now, at a later time, you may want to check to make sure your backup files are unchanged and none are missing. To do this, in the main user interface, right-click on the profile and select Integrity Check from the pop-up menu. SyncBackPro will now run an integrity check on your backup files. If any have changed, or been deleted, then the log file will provide details. Note that enabling integrity checking will have an effect on performance. The impact depends on where files are stored. For the cloud, the impact is less, but for something like FTP, or copying over the network, the impact can be much larger. · Enable file integrity recording for source/left: If enabled, then SyncBackPro will record file integrity data for files that are copied to the source/left. o Calculate the file integrity for files that have none: When this option is enabled, and SyncBackPro finds a file in the source/left that has no file integrity data, then it will update the file integrity database and add details for the file. If you have an existing profile, that has already copied files to the source/left, then you will probably want to enable this option so that the file integrity database can be initialized. Note that SyncBackPro has to ignore some filter options when deciding if it needs to get the file integrity data for a file. For example, the minimum file size is ignored because those filters apply to both the source/left and destination/right, but in this context it is only looking at one side. o Delete File Integrity Database: Click this button to delete the entire file integrity database for the source/left. This does not delete your source/left files, just the file integrity data store in the database. Optionally, you can delete the integrity data for specific base folders, on the source/left, by right-clicking on the folder in the user interface and selecting Delete from database. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 254 · Enable file integrity recording for destination/right: If enabled, then SyncBackPro will record file integrity data for files that are copied to the destination/right. o Calculate the file integrity for files that have none: When this option is enabled, and SyncBackPro finds a file in the source/left that has no file integrity data, then it will update the file integrity database and add details for the file. If you have an existing profile, that has already copied files to the destination/right, then you will probably want to enable this option so that the file integrity database can be initialized. Note that SyncBackPro has to ignore some filter options when deciding if it needs to get the file integrity data for a file. For example, the minimum file size is ignored because those filters apply to both the source/left and destination/right, but in this context it is only looking at one side. o Delete File Integrity Database: Click this button to delete the entire file integrity database for the destination/right. This does not delete your destination/right files, just the file integrity data store in the database. Optionally, you can delete the integrity data for specific base folders, on the destination/right, by right-clicking on the folder in the user interface and selecting Delete from database. If you want to check the integrity of your files, select the profile in the main user interface, right-click on the profile and select Integrity Check from the pop-up menu. SyncBackPro will then run an integrity check on your files. If any have changed, or been deleted, then the log file will provide details. As you can use variables in paths, and therefore could have multiple possible sources or destinations, SyncBackPro will prompt you which path should be checked (only if there is more than one possible path). There are also command line parameters that can be used to run file integrity checks. In the current version, file integrity data is not stored for versions. This may be included in future versions of SyncBackPro. Integrity Checking is designed for validating backups. SyncBackPro records the integrity data for the destination file, i.e. the backup file. It does not record integrity data for the original source file. For example: - You have a sync profile and enable integrity checking for the left and right. - You run the profile and it copies a file from the left to the right. SyncBackPro will record the integrity data for the right file. - You run an integrity check. The left file will fail because there is no integrity record for it. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.44 Compare Options Fine tune the way SyncBackPro handles file change detection. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 255 SyncBackPro Help When a profile is run, SyncBackPro only copies files that have been changed and new files. It uses four different methods to check if a file is different in the source and destination: Last file modification date & time: All files record the date & time of when they were last changed. File size: All files record the number of bytes they contain. Hash value: A unique value can be computed based on the contents of a file. These values can be used to check if a files contents is the same as another's. File attributes: Files have special attributes, e.g. read-only, hidden, etc., and SyncBackPro can optionally check for changes in these attributes You have the option to not use some of these methods, and also change how they are used. · Skip the Differences screen when this profile is run (it is never shown when unattended): Whenever you run a profile, it will compare the source and destination, and display the results in the Differences window. However, you can skip this window by enabling this option. Note that the Differences window is never displayed if you run SyncBackPro with command line parameters (e.g. from the Windows Task Scheduler), or if a profile is run in the background, or if there are no differences. In most cases there is no need to display this window, except if you want to check to see what the differences are. The Differences window is always displayed when doing a Simulated Run, Simulated Restore, or Restore. · Do not show the Differences screen if it is empty (due to filter settings): If this option is enabled, and the filter settings on the Differences window are such that no files are displayed, then the Differences window will be automatically closed and the profile run will continue. The Differences window is always displayed when doing a Simulated Run, Simulated Restore, or Restore. · Use slower but more reliable method of file change detection: By default, SyncBackPro will not compute the hash value of a file. The reason is that it can dramatically increase the time taken for a profile to run. However, if you want to be absolutely certain that SyncBackPro detects if a file has changed, so that it is copied, then you can enable this option. The only reason to enable this option is if you do not trust the last file modification date & time of the files, and the file size may not change. For example, by default, TrueCrypt drive container files never change size or last modification date & time (note that you can configure TrueCrypt to change the contains last modification date & time via the Settings->Preferences main menu). Note that this option will not work if you are using an FTP server that does not support the XCRC extension (the log will contain the warning message "The FTP server does not support hashing"). · Always use slower but more reliable method of file change detection: SyncBackPro will not calculate a files hash value (to detect file differences) if it has already discovered a file is different anyway, e.g. the files are not the same size. However, if you have a (non-archival) Fast Backup profile, there may be situations when you always want a files hash value to be calculated even if there is no destination © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 256 file, for example, and even when the files are obviously different. You may want to use this option so that a hash value can be used with incremental and differential backups. · Do not compare files in parallel: If both files are stored on a normal file system (i.e. not in the cloud, on an FTP server, etc), and are over a certain size, and are on different physical drives, then SyncBack reduces the comparison time by comparing the file in parallel. This means it reads both files at the same time instead of reading one file and then reading the other. In the majority of situations this is the optimal solution. However, in some rare cases it can cause problems. If you get errors such as Thread Error: Invalid Handle (6) then you should enable this option to resolve the issue. Note that this setting is the same as the Do not verify files in parallel setting on the Copy/Delete settings page. · Display a message if the profile run is a success (never shown when unattended): If the profile runs without error then a dialog box is displaying stating that. Normally no message is shown after a profile is run except when simulated or an error occurs. · Optimize the scanning by using a larger cache: This option is only available if you are using Windows 7 or newer. When enabled then SyncBack may be able to scan remote network drives (and Networked Attached Storage drives) faster. Note that there can be problems with some NAS drives that are not compatible with this feature, i.e. the NAS drive may return empty filenames for all of its files. Windows 8.1 introduced a special kind of file called a placeholder. These are used with OneDrive cloud files so that a file is essentially just a link to a file stored on the cloud. The files contents are not stored locally and are only retrieved if the file is opened, e.g. to view it. SyncBack will always ignore placeholder files. If you want to make a backup of your OneDrive files use the Cloud options. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.45 Compare Options, File Size Note that SyncBackPro has no limitation in regards to the size of files. However, some file systems, e.g. FAT32, do have limits on the size of files. · Do not replace non-empty files with empty files: If ticked then non-empty files are not overwritten (replaced) by empty files (files with a size of zero). This option is not available if the Ignore file size changes option is enabled. · Ignore file size changes (not recommended): You can tell SyncBackPro to completely ignore any differences in file sizes. Ignoring the file size has no impact on performance except in some circumstances when using FTP servers. Note that this option is not available if your profile is an Intelligent Synchronization profile. · Ignore files less than... and ignore files more than...: To ignore files of a certain size, or within a size range, set these options as appropriate. A value of zero is ignored, e.g. you © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 257 SyncBackPro Help cannot ignore all files over zero bytes in size. Note that the size applies to both files (left/source and right/destination) if they both exist. For example: you want to ignore files less than 10 bytes in size. If there is a source file of 9 bytes and a destination file of 11 bytes then it will not be ignored (as the destination file is over 10 bytes in size). If there is a source file of 9 bytes and a destination file of 9 bytes then it will be ignored. If there is only a source or only destination file then only it must match the size requirements. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.46 Compare Options, Date & Time · Do not replace newer files with older files: If ticked then new files are not overwritten (replaced) by older files. This option is only available under certain conditions. · Ignore file modification date & time changes (not recommended): You can tell SyncBackPro to ignore changes to the last modification date & time of a file. Note that this option is not available if your profile is an Intelligent Synchronization profile. · Ignore directory modification date & time changes: You can tell SyncBackPro to ignore changes to the last modification date & time of directories. It is recommended that you leave this at the default setting, i.e. ignore. If changes are not ignored then SyncBackPro will change the opposite directories last modification date & time to match. Which side is changed depends on what is set on the Decisions, Folders settings page. However, keep in mind that Windows will automatically change the last modification date & time of a directory if any of its files or sub-directories are changed, with a change being anything at all, e.g. changing a sub-directories last modification date & time. This means every time you run a profile if anything is changed then the dates & times will be changed by Windows. · Ignore creation date & time changes: You can tell SyncBackPro to ignore changes to the creation date & time of files and directories. If you change this option so that you are not ignoring creation date & time changes then you should enable the option to copy create date & times for directories and files. For SFTP the creation date & time may be reported as the same as the modification date & time. For FTP the server must support the retrieval (and maybe setting) of creation dates and times. Many do not. · Ignore file date & time changes that are because of Daylight Savings Time (DST) changes: By default if the last modification or creation date & time is exactly one hour different then it is ignored. This avoids problems with changes in the time due to Daylight Savings Time. · Ignore last access date & time changes: You can tell SyncBackPro to ignore changes to the last access date & time of files and directories. The default is to ignore changes and it is not recommended you disable it unless you require it. If you change this option so that you are not ignoring last access date & time changes then you should enable the option to copy last access date & times for directories and files. Most file systems do not support last access dates and times. NTFS does, but it may not be implemented, e.g. many NAS devices will not. For SFTP and FTP, it is highly unlikely that the SFTP/FTP server supports the retrieval of the last access date & time. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 258 · Ignore date & time changes of x seconds or less (differences are rounded down to nearest second): In some situations, the file system itself may not accurately record the correct date & time when a file or directory was last modified or created. This can occur when using SAMBA shares (e.g. on NAS devices) and FAT formatted file systems. With this option, you can tell SyncBackPro to ignore small differences in the date & times, e.g. ignore differences of 2 seconds or less. Note that the difference is rounded down to the nearest second, so a difference of 2.99 seconds is treated as 2 seconds. To avoid inaccuracies in file systems, and differences between file systems, SyncBackPro will ignore differences of 2 seconds by default. You can of course change this if you require finer accuracy. Keep in mind that Google Docs files stored on Google Drive do not record milli-seconds, so setting that value to zero may cause issues. · Ignore files that have/have not been modified...: This setting allows you to ignore files that were modified within a certain date range, e.g. within the last x days, since a date and time or between two dates and times (inclusive). Note that it uses the files last modification date & time and not the file creation date & time. See the section below for more details. If you wanted to ignore all files the have been modified before a certain date you'd set it to Ignore files that have not been modified since [date]. If you wanted to ignore all files that have been modified after a certain date you'd set it to Ignore files that have been modified since [date]. If you wanted to ignore all files that have not been modified in a certain time period you'd set it to Ignore files that have not been modified between date1 and date2. · Ignore files that have/have not been created...: This setting allows you to ignore files that were created within a certain date range, e.g. within the last x days, since a date and time or between two dates and times (inclusive). Note that it uses the files creation date & time and not the last modification date & time. See the section below for more details. Keep in mind that some locations, e.g. FTP, may not store the creation date & time of a file. The Ignore files that have/have not... settings above may not work as you expect it when using the within the last option. The following explains how the date & time comparison works: Seconds: Fractional seconds do not count. For example, if a file was modified 30.5 seconds ago, and you want to ignore files that have been modified within the last 30 seconds, then it will ignore the file, i.e. 30.5 seconds is treated as 30 seconds (it is not rounded up). Minutes: Fractional minutes do not count. For example, if a file was modified 2 minutes and 31 seconds ago, and you want to ignore files that have been modified within the last 2 minutes, then it will ignore the file, i.e. the seconds are not used in the comparison. Hours: Fractional hours do not count. For example, if a file was modified 2 hours, 31 minutes, and 32 seconds ago, and you want to ignore files that have been modified within the last 2 hours, then it will ignore the file, i.e. the minutes and seconds are not used in the comparison. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 259 SyncBackPro Help Days: Fractional days do not count. For example, if a file was modified 2 days, 13 hours, 31 minutes, and 32 seconds ago, and you want to ignore files that have been modified within the last 2 days, then it will ignore the file, i.e. the hours, minutes, and seconds are not used in the comparison. Weeks: Fractional weeks do not count. For example, if a file was modified 2 weeks, 4 days, 13 hours, 31 minutes, and 32 seconds ago, and you want to ignore files that have been modified within the last 2 weeks, then it will ignore the file, i.e. the days, hours, minutes, and seconds are not used in the comparison. Months: Because months are not all the same length, SyncBackPro assumes there are 30.4375 days per month. Also, fractional months do not count. For example, if a file was modified 2 months, 3 weeks, 4 days, 13 hours, 31 minutes, and 32 seconds ago, and you want to ignore files that have been modified within the last 2 months, then it will ignore the file, i.e. the weeks, days, hours, minutes, and seconds are not used in the comparison. Years: Because years are not all the same length (e.g. leap years), SyncBackPro assumes of 365.25 days per year. Also, fractional years do not count. For example, if a file was modified 2 years, 7 months, 3 weeks, 4 days, 13 hours, 31 minutes, and 32 seconds ago, and you want to ignore files that have been modified within the last 2 years, then it will ignore the file, i.e. the months, weeks, days, hours, minutes, and seconds are not used in the comparison. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.47 Compare Options, Attributes · Do not overwrite read-only files (ignored when file to be replaced is on an FTP server): If the file to be replaced is read-only, and this option is enabled, then the file will not be overwritten. · Do not delete read-only files (ignored when file to be deleted is on an FTP server): If the file to be deleted is read-only, and this option is enabled, then the file will not be deleted. · Do not copy NTFS encrypted files: If enabled then encrypted files are not copied. The encryption attribute is only available on NTFS file systems and FAT/exFAT when using Windows 10 or newer. Note that this does not mean it will not copy files encrypted using 3rd party utilities. Files stored on NTFS (EFS) can optionally be encrypted by Windows itself. It is this type of encryption that this option refers to. Windows 10 supports encrypted files (EFS) on FAT/exFAT. · Do not copy files marked as temporary: If enabled, the default, then files marked as temporary are not copied. This attribute is only available on NTFS file systems. · Do not copy system files: If enabled then system files are not copied. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 260 · Do not copy read-only files: If enabled then read-only files are not copied. This option is useful when a source code control system is used, for example. · Do not copy hidden files: If enabled then hidden files are not copied. · Do not copy offline files: If enabled then offline files are not copied. The offline attribute is only available on NTFS file systems. · Do not copy reparse point files: If enabled then files that are marked as reparse points are not copied. These files are often special files, e.g. links on Windows Subsystem for Linux (WSL) file-systems. · Only copy files that do have the archive attribute set: If enabled then only files which have the archive attribute set (on) will be copied. · Ignore NTFS junction points (reparse points): If ticked then junction/reparse points are ignored (as are directory symbolic links). File hard links are not ignored. This is the default and recommended. Note that although NTFS is mentioned explicitly, it is also valid for ReFS. If you change this setting you should also update your file & folder selections. · Attributes to watch: SyncBackPro can be configured to watch for file attribute changes. Note that some attributes are not supported on some file systems. Only the NTFS file system supports all the attributes. FAT32/FAT16 file systems support only the Archive, Hidden, Read Only, and System attributes. Note that SAMBA and non-Windows file systems may not support some of the attributes, or may require further configuration to support them. When a files attributes are changed, SyncBackPro will copy the file. Which file is copied depends upon the "What to do if the same file has been changed" setting on the Decision - Files page. For an Intelligent Synchronization profile which file is copied depends upon the "...the same file has been changed" setting. If hashing is used, then the file is not copied if the files contents are identical, and instead only the files attributes are copied. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.48 Compare Options, Security File and folder security can be copied and compared. File system security can only be used with NTFS and ReFS file systems. It cannot be used with FTP, the cloud, etc. To only copy the security when a file or folder is copied or created then enable the option Copy sub-directory and file security permissions on the Copy/Delete->Folders settings page and disable the option Compare file and folder security. If Backup read/write file copying or Windows File Explorer method of file copying is being used then all the security settings for files and folders will be copied regardless of the settings below. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 261 SyncBackPro Help To detect changes to the security of files and folders enable the option Compare file and folder security. When a file or folders security is changed, SyncBackPro will copy the security settings to the opposite file or folder. Which file or folders security is copied depends upon the "What to do if the properties or the case of the directories are different" setting on the Decision - Folders page. For an Intelligent Synchronization profile which security settings are copied depends upon the "What to do if..." setting. · Compare file and folder security: If enabled then file and folder security is compared to detect changes. This option can only be enabled if the option Copy sub-directory and file security permissions on the Copy/Delete->Folders settings page is also enabled, i.e. you cannot compare security if you're not also copying the security. The following check-boxes define what security is copied and compared: · Owner: The owner of the file or folder. · Primary Group: The primary group of the file or folder. · Discretionary Access Control List (DACL): The discretionary access control list identifies the trustees that are allowed or denied access to a securable object. · System Access Control List (SACL): The system access control list enables administrators to log attempts to access a secured object. It is recommended that you leave this unchecked. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.49 Log · Display log after running a profile: Once a profile has finished, if this option is enabled then the log file will be displayed. There are some cases where the log file will never be displayed: if the media cannot be loaded, a pre-run pause was aborted by the user, the Run Before program fails, or if the source or destination cannot be connected to via the network. Note: when the profile is run via a schedule, and Windows Vista or newer is being used, then the log may not be displayed. This is due to security changes introduced in Windows Vista (basically when SyncBackPro is run from a schedule it cannot interact with the user interface). · Only when errors occur: If this option is enabled, then the log file will only be displayed if any errors occurred during the profile run, e.g. a file could not be copied. · Log the reason why files/folders on source/left are ignored/skipped: In some cases you may want to know why a file or folder was not copied from the source/left, for example. If this option is enabled then the log file will state the reason. Note that this is the reason why SyncBack did not wish to copy, move, or delete the file/folder. The file/folder may still have been copied if you told SyncBack to do so in the Differences window. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 262 · Log the reason why files/folders on destination/right are ignored/skipped: In some cases you may want to know why a file or folder was not copied from the destination/right, for example. If this option is enabled then the log file will state the reason. Note that this is the reason why SyncBack did not wish to copy, move, or delete the file/folder. The file/folder may still have been copied if you told SyncBack to do so in the Differences window. · Do not log skipped files or folders: If ticked then skipped files are not recorded in the log. A skipped file is one which has been skipped due to the settings on the Decisions - Files settings page or set to skipped via the Differences window. Note that skipped files will also be recorded in the ignored section of the log file if the Log the reason why files/folders on... setting has been enabled. · Do not log successfully copied, moved, or deleted files: If ticked then if a file is copied, moved, or deleted without any problems then it is not recorded in the log file. The main reason you may want to use this option is to reduce the size of the log file, e.g. thousands of files are likely to be copied and the log file is going to be emailed. Even if this option is selected it will still log renames or if a file is copied and a reboot is required to complete the copy. · Log the drive serial numbers (internal and external drives only): If ticked then the drives hardware serial number is recorded in the log file. The hardware serial number is not the same as the serial number given to a partition when you format it. Drive serial numbers cannot be changed and are stored by the drive hardware itself. · Log the S.M.A.R.T. information to check for possible drive failure (internal drives only): S.M.A.R.T. is an acronym for Self-Monitoring, Analysis, and Reporting Technology. If ticked a check is made, at the start of the profile run, to see if the drive may fail in the near future (or if it has already failed). If a problem is detected then the profile will continue running but the profile will be recorded as failed (the Result in the log will show Drive Failure/Warning and the log will show which drive failed and why). This feature only works if your computers BIOS supports the S.M.A.R.T. standard (most do), it has been enabled in your BIOS and the drive supports S.M.A.R.T. (most do). SyncBackPro V9 introduced further drive health checks to improve the detection of imminent drive failures. You can also view the current S.M.A.R.T. status of all drives in the Global Settings. Note that there are countless types and versions of BIOS's available so please refer to your BIOS manual for information on how to do this. Although using this may help detect impending drive failure, it is not a perfect technology. It should not be relied upon to always detect an impending drive failure. For detailed information see the SMART Wiki page. · If a file cannot be copied because it was deleted before it could be copied then make it a warning and not a failure: In some cases you may get run failures because a file (usually temporary files) cannot be copied because they have been deleted (or moved) by something else before they could be copied. If you prefer to have these errors instead recorded as warnings (so they don't cause a profile run failure) then enable this option. Care should be taken when using this option as you are telling SyncBack that it should not treat an error as an error. Note that this option is ignored when running a profile as a © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 263 SyncBackPro Help restore, when copying from email and is also ignored when copying to or from a script location. When using a single Zip file, it is more complex. The setting will work if the file is missing (deleted) before an attempt is made to add it to the Zip file. However, if it is deleted while the Zip file is being built then it will be recorded as a warning but the profile will still be recorded as failed. · If a file cannot be copied because it is locked then make it a warning and not a failure: If you prefer to have these errors instead recorded as warnings (so they don't cause a profile run failure) then enable this option. Care should be taken when using this option as you are telling SyncBack that it should not treat an error as an error. Note that this option is ignored when running a profile as a restore, when copying from email and is also ignored when copying to or from a script location. With FTP, it may not work because it is not always possible to know if a file on an FTP server is locked or not. When using a single Zip file, it is more complex. The setting will work if the file is locked before an attempt is made to add it to the Zip file. However, if it is locked while the Zip file is being built then it will be recorded as a warning but the profile will still be recorded as failed. · If a file cannot be copied because it is being retrieved from cloud cold storage then make it a warning and not a failure: Some cloud storage services, e.g. Amazon S3 and Microsoft Azure, have cold file storage options. These are typically used for archiving, not backup. When a file (or a version of a file) is stored in cold storage it may take several hours to restore the file. SyncBackPro needs to ask the cloud service to restore the file (if it has not already been restored or requested to be restored), and once it has been restored, it can copy it. If a file is in cold storage, and has not yet been restored from cold storage, then this is recorded as an error. If you would prefer it to be a warning then enable this option. · Include special links in the log file (HTML only): If enabled then special links will be put into the log file (if HTML log files are being created). When clicked on in any web browser SyncBack will be executed and the appropriate action taken, e.g. open the profile for modification, exclude a file, exclude a folder, etc. Note that the links will only work on computers when SyncBack is installed and permission has been given to the web browser to open such links (this permission is usually asked for the first time one of the special links is clicked). If you want to reduce the size of the log files then you should disable this option. · If the user cannot be prompted to choose an action then:: On the Decisions - Files and Decisions - Folders settings pages you may have chosen to be prompted in some situations. However, if the profile is being run unattended, e.g. from a schedule, then you cannot be prompted. In this case the file is skipped and a warning is recorded in the log file. However, using this setting you can change what (if anything) is recorded in the log file. The file or folder will always be skipped, but if you are using an Intelligent Synchronization profile then you may want the file or folder to be skipped and the changes to be ignored. · Override the program wide setting for the number of log files to keep: Using the Log Settings window you can specify how many log files all profiles should keep. However, using this setting it is possible to override that program wide setting and set the number of log files to keep for this specific profile. Note that a value of zero or below is invalid and will be silently ignored. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 264 · Delete log files: Click the button to delete all the profiles log files. The button is disabled if the profile has no log files to delete. To delete the logs files of all profiles go to the Log Settings tab via Global Settings in the burger menu · S.M.A.R.T. Test: Click the button to have all connected drives tested to see if a drive is predicted to fail. Note that some drives cannot be predicted to fail. An error message is only displayed if a drive is predicted to fail or if there is no way to predict failure of the drive. Log File Sections A log file has several sections: · Main Page: The main page gives a brief overview of what happened when the profile was run. It also gives a description of the source/left and destination/right. · Copied, deleted, renamed, and changed: This sections lists all the files and folders that were copied, deleted, renamed or changed. · Skipped: If a file or folder is skipped (i.e. its Action is set to skip) then it is logged here. A skipped file or folder is different from an ignored file or folder because you can still see the file or folder in the Differences window. · Warnings: All warnings are listed on this page. An example of a warning is when a file has been deleted before it can be copied (see the setting above). · Errors: When an error occurs a file or folder has failed to be copied, moved, etc. · Ignored Reason: If you have enabled the option to record the reason why files/folders are ignored/skipped (see above) then this section of the help file lists why the file or folder was ignored, e.g. it was filtered out. An ignored file is one that does not appear in the Differences window, i.e. it is completely ignored and not treated as part of the profile. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.50 Log, Email Log After a profile has been run, SyncBackPro can email the log file. This is especially useful when SyncBackPro is located on a remote machine. The log file can optionally be sent as an email attachment. In today's world of junk email, many email servers are configured to reject any email that appears to be spam. If your email server is rejecting your log email please make sure you have filled out the settings correctly, e.g. valid To and From addresses are used. This profile settings page can use and create shared settings. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 265 SyncBackPro Help · Email the log file after the profile has run: To email the log file, enable this option. If the profile is disabled then no log will be sent. Sending Server Connection Details · Email Service: If you use a public email service, e.g. GMail, then you may be able to choose it from the drop-down list. If so, some of the settings will be set automatically for you. Note that you may still need to set things like the login username as they are unique to your account. · Server Type: For most people this should be left as SMTP. However, if you're using a Microsoft Exchange server then you can change this as appropriate. If you are using Microsoft Exchange 2007 or newer then do not use the WebDAV option unless you are using an old version of Microsoft Exchange (2000 or 2003). · Hostname: This is the hostname of your email server, e.g. smtp.mailserver.com. If you're using Microsoft Exchange then enter just the hostname and not the URL. Note that in some cases (never if you're using Microsoft Exchange) you do not need to specify the hostname as SyncBackPro may be able to send the email with just the To and From values set (especially if you're sending an email from yourself to yourself). · To: The email address to send the log file to. Variables can be used. You can enter multiple email addresses by separating them with semi-colons or commas, e.g. you@email.com; you@yahoo.com · From: The email address from which the log file has been sent. Variables can be used. Typically you would put your own email address here. Note that some email servers may reject the email if it is not from a valid email address or an email address on that server. · Subject: The subject to use for the email. You can use variables, e.g. %PROFILENAME%, in the subject, e.g. Log file for %PROFILENAME%. The subject is part of the shared settings, so it is advisable to use variables. · Login: If you must login to your email server (and if you are using Microsoft Exchange then you must) then select Must login to email server and enter your login username and password below. Note that some servers require a login whereas others may fail if you do attempt to login. Check with your email provider or systems administrator. Some email services have 2-step verification for added security. In this case the password may need to be an application specific password and not your actual password. Refer to your email services documentation on how to create an application specific password. Due to spam, most email servers now require you to login. SyncBackPro can login to email servers that require a username and password in clear-text, NTLM, CRAM-MD5, or MSN. o Username: The username used to login. This is only enabled if Login is set to Must login to email server. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 266 o Password: The password used to login. This is only enabled if Login is set to Must login to email server. If your password has spaces in it, and you're not using Exchange, then you may need to enter it with double-quotes. For example, if your password is abc 123 then enter "abc 123" as the password. o Prompt for the password when run (profile will fail if run unattended): If this option is enabled then every time the profile is run SyncBackPro will prompt you for the password. If the profile is being run unattended, then no prompt will be displayed and the profile run will fail. · Test Email Settings: When clicked SyncBackPro will use the settings above to send a test email. Note that it will only email the summary page (if using HTML logs) and not the entire log as the test is to make sure the settings are correct. Gmail If you are using a Gmail account, and are not using 2FA (Two Factor Authentication) with your Google Account, the following explains how to configure it so it can be used with SyncBackPro: · Login to your Gmail account · Click Settings link in top-right · Go to Forwarding and POP/IMAP tab in Settings · Enable Enable POP for all mail (even mail that's already been downloaded) and Enable IMAP · Change When messages are accessed with POP to keep Gmail's copy in the Inbox · Click Save Changes · You also need to allow access via less secure apps. To do this visit https://myaccount.google.com/lesssecureapps The problem with Gmail is that it sometimes forgets these settings and so you may have the problem of SyncBackPro saying there are no emails. This is because the Gmail POP server is saying there aren't any emails because the Enable POP for all mail setting is sometimes "forgotten" by Gmail. Also, sometimes Gmail doesn't appear to delete emails that SyncBackPro asks it to delete. If you are using 2FA (Two Factor Authentication) with your Google Account then you need to create an App Password for SyncBack. You then use that password instead of your Google password. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 267 SyncBackPro Help 3.3.51 Log, Advanced · Only send the email if an error occurs: If you only want the log file to be emailed if the profile failed then tick this check box, otherwise the log file will be emailed after every run. The email subject will be prefixed with [Failed] if the profile run failed. o ...or there are differences: If you only want the log file to be emailed if the profile run failed, or differences were found between the source and destination, tick this check box. o ...or there are no differences: If you only want the log file to be emailed if the no differences were found between the source and destination, tick this check box. · Do not send the email if it is a simulated run: In most cases you probably don't want to have the log emailed if it is a simulated run. If so, enable this option. · Do not send the email if it is a manual run: In most cases you probably don't want to have the log emailed if the profile has been run manually, i.e. not automated from a schedule or other trigger. If so, enable this option. · Do not attach the log file, just send the email body: If you only want the email body, and not the log files attached, then tick this option. · Only attach the log file if an error occurs: Tick this option if you only want the log file attached to the email if the profile run fails. · Compress the attached log file and give the attachment a filename of ...: This option is enabled by default. When enabled the log file will be compressed into a single zip file and attached to the email. Some email programs, or corporate environments, will not allow attachments of certain types. If this is the case try changing the filename to log.txt, for example. You can use variables in the filename, e.g. %PROFILENAME%.zip. o Encryption method: If you only want the log file to be encrypted then choose the type of encryption you wish to use. Note that you can only encrypt the log if it is also compressed. The receiver may need compression software to decrypt the log file. o Password: The password to encrypt (and decrypt) the log file. Email Server Connection Details · Connection Encryption: If your email server requires an SSL/TLS encrypted connection, or it supports one and you want your email to be transmitted to the server in encrypted form, then select the appropriate option. Some email servers, e.g. GMail, require an encrypted connection. If your SMTP server supports a direct encrypted connection then select Direct SSL/TLS connection option. The Use STARTTLS command is different from the direct setting in that it connects to the SMTP server then requests that the connection be encrypted by sending a special command to the email server. Choose this option if your SMTP server does not support a direct encrypted connection. If you are using © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 268 Microsoft Exchange then select None for an unencrypted connection or any of the other values for an encrypted connection. · Port: The port number of your SMTP email server. It is recommended you leave it as zero (then SyncBackPro will use the default port number based on your settings). If you are using Microsoft Exchange then this value is not required. · Local computer name: Leave this blank unless you are familiar with the HELO SMTP command. SyncBackPro tells the SMTP server that this is the name of the computer (the hostname). Some SMTP servers are configured to reject attempts to use them from computers that identify themselves incorrectly or via an I.P. address. SyncBackPro attempts to detect and correct this by not identifying itself. To tell SyncBackPro to not identify itself set this value to * (a single asterisk). To tell SyncBackPro to send the local computers name (instead of I.P. address) set this value to + (a single plus sign). · Reply To: The email address any replies should be sent to. Variables can be used. You can leave this blank. · CC: Carbon-copies of the email can be sent to other email addresses. Variables can be used. You can enter multiple email addresses by separating them with semi-colons or commas, e.g. you@email.com; you@yahoo.com · BCC: Blind-carbon-copies of the email can be sent to other email addresses. Variables can be used. You can enter multiple email addresses by separating them with semi-colons or commas. · Receipt: If you require a delivery receipt to be sent then enter the email address of the person to receive that receipt. Note that a receipt is only sent if the email client or email server supports this feature. Variables can be used. Email Encoding · Header encoding: It is recommended that you do not change this setting. This setting defines the encoding format used for the email header. · Transfer encoding: It is recommended that you do not change this setting. This setting defines the encoding format used for the email body. · Character set: It is recommended that you do not change this setting. This setting defines the emails character set. If you are having problems reading your email in some email clients, or you have set the filename of the log file to something that is not English, then you may resolve the issue by changing the character set to Universal Alphabet (UTF-8) or another appropriate value. · I want to customize the email body: If ticked then you are able to create a custom email body instead of using the default. The email body can use Windows environment variables, e.g. %HOMEPATH%, as well as all the SyncBack Variables and some variables that are © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 269 SyncBackPro Help used especially in the subject and email body. Note that the email body is not stored as part of the shared settings or as a profile default. You can use either a plain text body and/or a HTML body. Keep in mind that the readers email client will need to be able to display HTML email. Because of this you may want to have both a text body and HTML body so that email clients that do not understand HTML emails will display the text body instead. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.52 Log, Proxy · I use a proxy server: If you must use a proxy server to connect to your email server then you must enable this option. · Hostname: This is the hostname of the proxy server, e.g. proxyserver.com. Variables can be used. · Username: Your proxy login username. If you do not need to login to your proxy server then leave this blank. Variables can be used. · Password: Your proxy login password. If you do not need to login to your proxy server then leave this blank. · Port: The port number of the proxy server. This value varies depending upon the type of proxy server software used. · Proxy Type: This setting defines what type of proxy server you are using. It is important the correct setting is used otherwise SyncBackPro will not be able to login to your proxy server. Check with your Network Administrator on which proxy setting to use. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.53 Log, Pushover SyncBackSE and SyncBackPro can be configured to send a Pushover message if a profile run fails and/or succeeds. Pushover messages can be received on a wide range of devices, e.g. iOS, Android, macOS and Windows. A Pushover message is similar to an SMS but without the costs. To be able to use this feature you must create a Pushover account. Note: Pushover has strict limits on the number of messages that can be sent per month. Those limits apply globally to SyncBackSE and SyncBackPro and are reset at midnight (Central U.S.) on the first day of each month. If that limit is met then no more messages can be sent by anyone until the limit is reset. We recommend that you create your own application token and use that. That way you can have your own limits which will be more than enough. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 270 · Send a Pushover message if the profile run fails: If enabled then a Pushover message is sent if the profile run fails. · Send a Pushover message if the profile run is a success: If enabled then a Pushover message is sent if the profile run is a success. A message will only be sent if the profile was not run manually and it was not a simulated run. · User/Group key: Enter your user key here, or optionally enter a group key for it to be sent to a group of people. Visit your account in Pushover to see your User Key and to create Group Keys. To make sure the key, and device, are correct click the Verify button. · o Verify: The Verify button will only be available if you have entered a User/Group key. · Device: This setting is optional. The default is to send the message to all the devices you have registered with the user/group key. You may choose to send the message to a specific device only. Click the Refresh button to populate the list. o Refresh: The Refresh button will only be available if you have entered a User/Group key. · Title: This setting is optional and is the title for the message. You can use variables, e.g. % PROFILENAME%. As the same title is sent on success or failure we recommend you use variables, e.g. %RUNRESULT%. The maximum length is 100 characters. · Message: This is the message to send. You can use variables, e.g. %PROFILENAME%. As the same message is sent on success or failure we recommend you use variables, e.g. %RUNRESULT%. The maximum length is 500 characters. · Use my own application token: This setting is optional, but we recommend that you create your own application token to avoid the message limits set by Pushover. If you use your own application token then you can use the Test button to make sure the settings are correct. o Test: The Test button will only be available if you have entered your own application token and entered a User/Group key. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.54 Log, Webhook Webhooks are a way to send a message to a server (usually a web server) or service (e.g. Microsoft Teams). They are a way for systems to communicate using HTTP URL's (like you can send an SMS to a phone number). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 271 SyncBackPro Help · Send a webhook message if the profile run fails: If enabled, then when the profile run files, the specified webhook will be called if the profile fails. o Webhook URL: This is the URL that is called. It can contain variables. For the URL, you must consult the server or service you are using. o Message: This is the (optional) message that is sent to the webhook URL. It can contain variables. The message content may need to be in a specific format or may not be required (consult the server or service you are using). · Send a webhook message if the profile run is a success: If enabled, then when the profile run files, the specified webhook will be called if the profile does not fail. o Webhook URL: This is the URL that is called. It can contain variables. For the URL, you must consult the server or service you are using. o Message: This is the (optional) message that is sent to the webhook URL. It can contain variables. The message content may need to be in a specific format or may not be required (consult the server or service you are using). Also, it is important that you refer to the documentation (and technical support) for the webhook service you are using. Also, there are free sites available to test your webhooks. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.55 Misc. This page is for miscellaneous settings that don't fit into other categories. · Priority: These are the priorities used when running this profile. You can define the priority used when run manually, and also when run automatically. A profile with a higher priority will run faster than a profile with a lower priority, if both the profiles are run at the same time. There are seven levels of priority from Idle (the slowest) to TimeCritical (the fastest). It is not recommended that you use TimeCritical as it may cause your entire computer to slow down or lock up. If you want a profile to use the least amount of CPU time, then select Lowest. If Idle is used the profile may never be run. Note that the -priority command line parameter will override this setting. · Flush all open files before running profile: If enabled then all changes to files that are still in the cache are written to disk. This will add a few seconds to the time taken to run a profile. · Stop Windows from sleeping while this profile is running: In some situations you may not want Windows to sleep while a profile is running. If so, enable this option. Note that this option does not stop a user from putting Windows to sleep. It only stops it sleeping due to the power saving settings in Windows. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 272 · Pause for...: In some cases you need to give Windows time to reinitialize network connections and devices (or spin-up CD's) once it comes out of hibernate or standby. This option lets you have the profile pause for a number of seconds before the profile starts running. The pause will be ignored if the profile is set to run on shutdown/logoff and is run at that time (otherwise it would delay Windows shutdown). You can achieve something similar by using the command line parameter -countdown · Password protect this profile from modification or deletion: To protect the profile from modification or deletion enter a password here. If a password is entered then whenever any attempt is made to modify or delete the profile then the user will be prompted for the password. Note that if a password protected profile is using shared settings then you must take note that those shared settings could be changed via an unprotected profile. Important: It is your responsibility to remember the password. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.56 Misc., Media · Eject source/left media after the profile has run: If enabled, the source/left media will be ejected once the profile has completed. For example, if your source/left directory is on a CD then the CD will be ejected. Note that this option may not work with USB devices. · Eject destination/right media after the profile has run: If enabled, the destination/right media will be ejected once the profile has completed. Note that this option may not work with USB devices. · Load source/left media before the profile is run: If enabled, the source/left media will be loaded/inserted before the profile is run. For example, if your source/left directory is on a CD then the CD will be loaded. · Load destination/right media before the profile is run: If enabled, the destination/right media will be loaded/inserted before the profile is run. You can click the Test Eject and Test Load buttons to test if the media can be ejected or loaded. It will work with most removable media, e. g. USB drives, SD cards, etc. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.57 Misc., Speech You can configure SyncBack to speak (or to play a .WAV sound file) when certain events occur. To play a .WAV file use the filename of a .WAV file. If the file exists then it will attempt to play it. Note that it must be a .WAV file and not any other type of file, e.g. MP3. To play other sound file formats you must convert them to .WAV files using 3rd party programs. You can use variables. For example, if you used %DATE% then it would say the current date. For more control over how the speech works, you can use XML. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 273 SyncBackPro Help Bing Speech By default, the speech feature built into Windows is used. However, this is limited and can have problems with languages other than English. To overcome this, you can use Bing Speech. For this to work, you must be connected to the Internet, because the speech audio is created online using cloud services. Using Bing Speech, you also have a large range of languages and voices to choose from. You can also enter the speech text in the language you wish to use, e.g. French. Note that you cannot play WAV files using Bing Speech. From December 2019, Microsoft require a TLS 1.2 connection to their Bing Speech servers. In Windows, you must do this via Internet Explorer: · Open Internet Explorer · From the menu bar, click Tools > Internet Options > Advanced tab · Scroll down to Security category, manually check the option box for Use TLS 1.1 and Use TLS 1.2 All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.58 Programs Before Define what programs will run before and/or after the profile runs. You have the option of running an external program before the profile starts and/or after the profile has finished. This useful option allows you to prepare the files being copied before the profile has run, for example. There are many possible uses for these settings in SyncBackPro, so read through the following and consider how they may be applied to your own computer setup. · Run before profile: To have a program run before the profile is run, enable the Run before profile checkbox and type the name into the edit-box or click the folder icon next to it. For example, you could type notepad.exe so whenever the profile starts Notepad will be run. You can use variables to define the program name, path, etc. See the section below for more details. Note that if the program name, or the folder it is in, contains spaces then you must wrap the entire program name with double-quotes otherwise the return value will always be 1. For example, C:\Program Files\Company Name\A Program.exe must be specified as "C:\Program Files\Company Name\A Program.exe". Any parameters passed to the program should also be wrapped in their own pair of double-quotes, especially if they contain spaces, e.g. "C:\Program Files\Company Name\A Program.exe" "param 1" "another param" Starting with Windows Vista, Microsoft introduced many restrictions on how programs can react to and handle the shutdown or restart of a computer. Due to these restrictions Run Before and Run After programs will silently fail and not even start if the profile is set to run on shutdown/logoff and the computer is shutdown or restarted (the programs will still be run as per normal if its a logoff). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 274 · Wait until the program has finished before running profile: If this option is enabled, then when the program is run, SyncBackPro will pause the profile until the program has finished. The program must exit/close before the profile will continue. If you do not enable this option then the program will be run and the profile will carry on running without waiting for it to finish. · Wait for a maximum of...: If this option is enabled, then you can choose how long SyncBackPro should wait for the program to finish before it continues. If the program does not finish within the specified time then SyncBackPro will continue with the profile. Note that it is advisable to set a maximum waiting time otherwise SyncBackPro may get "stuck" waiting for a program that is not going to exit. o Abort the profile if the program fails to finish in time: If this option is ticked then if the program does not return in the time stated then the profile will stop. · Abort the profile if the program fails to execute: If enabled, and the before program fails to start (because the program doesn't exist or cannot be run), then the profile will not run. By default the profile will continue to run with a failure. · Abort the profile if the programs return value is not ...: Most programs, batch files, and scripts, have a numeric return/exit value. This usually indicates if it ran without error, and if there was an error, what kind of error occurred. If you tick this checkbox then you can specify which return values the program must return for the profile to be run. A comma-delimited list of values can be entered, and a hyphen used to specify a range of values. For example, if the program returns 0, 1, or a value between 10 and 50 (inclusive) if it was run successfully, and any other value on failure, then in the edit box you would type 0, 1, 10-50. o ...but do not create a log or record it as a failure: If this option is ticked then if the program does not return the expected value then the profile will stop. No log will be created. An example is when you need to connect to something that may not always be available, and if it isn't available then it can be safely ignored, e.g. connecting to a network from a laptop. · Run the program when simulating: By default the program is not run when doing a simulated run. This is advisable as the program may change or delete files, which is not something you generally want to do during a simulated run. Variables and Switches As with the Source/Left and Destination/Right directories, you can use Windows environment variables. For example, if you typed "Notepad %HOMEPATH%\test.txt" then this would run notepad and open a file in your home directory called test.txt. By default all external programs are run in a normal window and made the active window. You can have the program instead run minimized, for example, so that they do not appear as a © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 275 SyncBackPro Help window on the screen or become the active window. To do this prefix the program with one of the following: /min This will run the program minimized and will not make it the currently active window. For example: /min "C:\Program Files\Company Name\A Program.exe" /max This will run the program maximized. For example: /max "C:\Program Files\Company Name\A Program.exe" /hide This will run the program minimized, hide the window and not make it the currently active window. For example: /hide "C:\Program Files\Company Name\A Program.exe" /notact This will run the program and not make it the currently active window. For example: /notact "C:\Program Files\Company Name\A Program.exe" Unlike the Source/Left and Destination/Right directories, you can also use special SyncBackPro variables. These are used in the same way as environment variables, except they have a leading underscore character, e.g. %_Source%. The value returned is for the profile being run. Below is a list of the most common variables that you can use: _Compression = Returns 1 if the destination/right is compressed _Destination = Destination/right directory/filename _DestIsFTP = Returns Y if the destination/right is an FTP server _Priority = Run priority of the profile _SingleFile = Returns 1 if compressing to a single file (ignore if _Compression returns 0) _Source = Source/left directory For a full list see the profile settings INI file. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.59 Programs, After · Run after profile: To have a program run after the profile has finished,enable the Run after profile checkbox and type the name into the edit-box or click the folder icon next to it. You can use the same variables and switches as per the Run Before program. Starting with Windows Vista, Microsoft introduced many restrictions on how programs can react to and handle the shutdown or restart of a computer. Due to these restrictions Run Before and Run After programs will silently fail and not even start if the profile is © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 276 set to run on shutdown/logoff and the computer is shutdown or restarted (the programs will still be run as per normal if its a logoff). The special variable %PROFILEFAILED% can be used to pass the result of the profile run. If the value is 1 (one) then the profile failed (or was aborted), if the value is 0 (zero) then the profile run was a success. · Wait until the program has finished before running next profile or exiting: If this option is enabled, then when the program is run, SyncBackPro will pause and not finish the profile until the program has finished. The program must exit/close before the profile will complete running. If you do not enable this option then the program will be run and the profile finish as per normal without waiting. · Wait for a maximum of...: If this option is enabled, then you can choose how long SyncBackPro should wait for the program to finish before the profile run ends. If the program does not finish within the specified time then SyncBackPro will end the profile run. Note that it is advisable to set a maximum waiting time otherwise SyncBackPro may get "stuck" waiting for a program that is not going to exit. · Run the program even if the profile fails: Select this option to run the after program even if the profile fails. By default the program is not run if the profile fails, e.g. a file could not be copied. If the source or destination is a UNC path (\\server\share\folder\), and it cannot be connected to, then the Run After program is not run. · Run the program when simulating: By default the program is not run when doing a simulated run. This is advisable as the program may change or delete files, which is not something you generally want to do during a simulated run. · Run the program after the log file has been closed (any failure will not be recorded in the log): By default the after program is run before the log file is closed and created. This is so the result of the program run can be recorded. It also means the log file has not yet been created. In some situations you may want the after program to use the log file, and if so, you need to enable this option. The variable %LOGFILENAME% can be used to get the filename of the first page of the log file. · Run the program only if any file changes were made: If you only want the program to run if any files were copied, deleted, or moved, then tick this option. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.60 Auto-close Define what programs will close before running a profile by entering the contents of their title bar. This profile settings page can use and create shared settings. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 277 SyncBackPro Help Although SyncBackPro can copy locked files (under the correct circumstances) it sometimes cannot copy files that are being used by other programs. For example, you cannot copy a Word document while it is being edited in Microsoft Word and the file is on a network drive. One option available is to automatically close those programs so SyncBackPro can copy the files being used. These settings allow you to choose which programs to automatically close before the profile is run. To add a program to the list, click the Add button. You are then prompted to enter the words that appear in the application title bar of the program you want closed, or select one from the drop-down list. For example, if you want to close Microsoft Word then type Microsoft Word. An important point to remember is that it is case sensitive. For example, if you use microsoft word then it would fail. You only need to enter a fragment, i.e. you do not need to type in the exact title but just a portion of it. To be sure the setting is correct try running the program you wish to close then click the Test button. To remove entries from the list, click on them and click the Remove button. Before a profile is run, SyncBackPro will try and close all the programs with those words in their title bar. If you are using Microsoft Word at the time then Word will prompt you to save the document before it closes. However, some programs may not prompt you and refuse to close, or you may want them closed even if they prompt. In this case you must tick the Forcibly close programs that will not close gracefully option. If this option is enabled then SyncBackPro will forcibly close those programs if they don't close gracefully. Note that this will very probably result in you losing data, so this option should not be used without careful consideration. Due to security changes introduced with Windows Vista, auto-close will not work with scheduled profiles (unless they are set to run only if the user is logged on). This is because processes that are run via the scheduler are run in a different session and have no access to the desktop processes. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.61 Variables This profile settings page can use and create shared settings. Variables are strings that are replaced by something else when the profile is run. For example, you may want to backup to a folder that has the current date in its name. To do this you would use the variable %DATE%, e.g. set the destination to X:\Backup\%DATE%\. This section has more details on what variables are available. As well as Windows environment variables, SyncBack variables, and getting values from the registry, you can also define your own variables. Those variables can reference other variables. For example, you could create a variable called THEDATETIME and set it to The current date is %DATE% and the time is %TIME% © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 278 The variables defined for a profile are only available to that profile. If you define a variable in a group profile then it is available to all profiles in that group. However, group level variables are only available to the non-group profiles in the group, i.e. they do not cascade to the profiles in sub-groups. If a profile has a variable with the same name as one in its parent group then the profile variables value will replace the group variables value, i.e. profile variables take precedence. This setup window will also highlight this by showing the variables in red. As well as this, the log file will also tell you which profile variables are replacing group variables (if at all). In SyncBackPro , this setup window also displays any variables that are defined by scripts that are run as part of the profile. To add a variable simply click the Add button. You then enter a unique name for the variable, e.g. MyVariable, and then enter a value (the value can use variables itself). Do not use percentage signs around the variables name, e.g. use VarName instead of %VarName%. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.62 Notes In some situations you may want to record some free-format notes about a profile, e.g. what the profile does, what needs to be done before the profile is used, etc. This settings page lets you enter those notes and optionally have them displayed when the profile is imported. Note that the notes are rich-text, which means you could copy & paste the notes from Microsoft Word, for example, and it will retain the font styles, sizes, colors, etc. Images cannot be used. The Notes feature is not intended to be a full blown text editor and is intended for entering a few simple notes. · Show these notes when this profile is imported or copied: If this checkbox is ticked, and the profile is exported and imported into another installation of SyncBack, then this note is displayed. The note will also be displayed if the profile is copied and also if the mouse cursor is over the profiles name in the main window. This is useful when distributing profiles and you want to tell the user what the profile does or if they need to change something before using it, for example. Note that if a profile is imported in unattended mode then the note is not displayed. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.3.63 Ransomware Detection Local Ransomware detection is already available in Global Settings. That setting lets SyncBackPro detect any Ransomware infection on your local system so that no profiles can be run if ransomware is detected. With this profile specific setting, you can enable Ransomware detection for the source and/or destination you are using with the profile. For example, if you are copying from an FTP server you can detect Ransomware on the remote © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 279 SyncBackPro Help FTP server. Ransomware detection cannot be used with Google Photos, backup of email or location scripts. The configuration is similar to how it works in the Global Settings. You must choose an existing file in the location, e.g. on the FTP server. The file can be anywhere that can be accessed, i.e. it does not need to be a file in the folder you are copying to or from. This means you could use the same file in multiple profiles that use the same location. When the profile is run the file is retrieved and checked for changes. If the files contents have changed then that is considered as Ransomware infection and the profile will abort. Keep in mind that you should not be changing, or deleting, the Ransomware file you choose. If it is within the folder you are copying to or from then you may want to filter it out of your profile or deselect it. SyncBack Touch also supports ransomware detection. When configured, the remote SyncBack Touch service will check if there has been a ransomware infection on the SyncBack Touch device. All three of the ransomware detection methods have different settings, work independently from each other and can be used at the same time: o Ransomware detection in Global Settings detects infection on your local system (that SyncBackPro is running on). You can have SyncBackPro create the detection file or choose an existing one. If infection is detected then no profiles can be run. o With SyncBack Touch ransomware detection, Touch creates the detection file on the system it is running on. If infection is detected then any profiles using that Touch service will not run. o If you want a profile to detect ransomware on the source/left and/or destination/right, then it can be configured in the profile itself using the settings explained on this page. If ransomware is detected then the profile will not run. · Detect Ransomware in source/left: If this checkbox is ticked then ransomware detection is enabled on the source/left. Click on the three-dots (...) in the Filename edit box to choose the ransomware detection file on the source/left. You must choose an existing file that the profile has read access to and is 1MiB (1,048,576 bytes) or smaller. The file can be anywhere that can be accessed, i.e. it does not need to be a file in the folder you are copying to or from. This means you could use the same file in multiple profiles. Keep in mind that you should not be changing, or deleting, the Ransomware file you choose. If it is within the folder you are copying to or from then you may want to filter it out of your profile or deselect it. · Detect Ransomware in destination/right: If this checkbox is ticked then ransomware detection is enabled on the destination/right. Click on the three-dots (...) in the Filename edit box to choose the ransomware detection file. You must choose an existing file that the profile has read access to and is 1MiB (1,048,576 bytes) or smaller. Ransomware detection will have a small impact on performance as SyncBackPro needs to download the detection file and calculate its hash value. However, you must decide if performance or security is most important to you. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 280 The ransomware detection file must be 1MiB (1,048,576 bytes) or smaller. If you are on a cloud system do not choose a file in cold storage, e.g. Glacier, as your detection file. There are several reasons for this (cost of retrieval, immutability, etc). 3.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 Runtime Help Runtime Help refers to operations which occur as SyncBackPro is performing a task like a backup. This section of the help file covers the Differences and and File Collision Windows which allow you a great deal of flexibility in fine tuning your profile task. 3.4.1 All Content: 2BrightSparks Pte Ltd © 2003-2021 The Differences Window When you run a profile, if there are any differences detected, e.g. files have changed, this differences window will appear. You can configure your profile never to show this window (see the Compare Options page when creating/modifying the profile). The Differences window is not shown for unattended runs, e.g. scheduled tasks, if you run SyncBackPro with command line parameters, if the Skip the Differences screen option is enabled for the profile, or if there are no differences. There is also an option to automatically close the Differences window if it is empty (due to the filter settings). The Differences window will always be shown when doing a restore or simulated run. If your profile contains tens of thousands of files (or more) then it is not recommended that the Differences window be displayed. This is because displaying so many files uses a lot of CPU time and RAM, and takes a long time to sort. If the file information has been dumped to a database (either due to the large number of files, or lack of free RAM), then please note that the sorting will be different. Folders will be listed separately from files, e.g. folders are shown first, then files. This is done to improve performance (the sorting is done by the database instead of the display). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 281 SyncBackPro Help When a profile is run, SyncBackPro will compare the source/left and destination/right files to find the differences. There may be files in the source/left that are not in the destination/right, for example. After it has made the comparison it will display the Differences window that lists all the differences between the source/left and destination/right. This gives you a chance to see what will happen and change what actions will be taken. For example, a file may be marked for deletion but you may decide not to delete that particular file. At the bottom left of the window are details on the currently selected files. It shows the differences between the file on the left and the file on the right. Newer dates & times, and larger file sizes, are shown in green, older dates & times, and smaller file sizes, are red. If the profile is an Intelligent Synchronization profile then a checkbox labeled Show previous details of the files is shown in the bottom left. To show the previous details of a file you must first select the appropriate file and then tick the checkbox. It will now show the details of the file the last time the profile was run. Obviously new files will not have previous details. The bottom right panel gives details on the number of files, and the amount of data, that will be copied, deleted, and skipped. Note that the free disk space shows the estimated free disk space on the source/left and destination/right based on the actions made. For example, if you choose to delete files from the right then its free disk space will increase. Actions Between the Left and Right columns is the Action column. This shows what will happen to that file. Note that not all the options are available for each file as it depends on what the situation is with that file. For example, you cannot copy the left file if it doesn't exist: Skip: Ignore the file and do nothing. Skip and Exclude: Ignore the file and do nothing. The file will be ignored in all future profile runs as well. See the help in the File Collision window for more details. Copy to right: Copy the left file to the right. This will overwrite the right file, if it exists. Copy to left: Copy the right file to the left. This will overwrite the left file, if it exists. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 282 Move to right: Move the left file to the right. This will overwrite the right file, if it exists, and delete the file from the left. Move to left: Move the right file to the left. This will overwrite the left file, if it exists, and delete the file from the right. Unchanged: This option is only available when running a Fast Backup profile. By selecting this option you are telling SyncBackPro that the file actually has not changed and nothing should be done. This is useful, for example, when you have a copy of a file on an FTP server but the date & times do not match. However, you know the file is identical. Delete: Delete both the source and destination files. Delete from left: Delete the file on the left. Delete from right: Delete the file on the right. Collision, prompt me: You will be prompted what choice to make after you close this window. Missing, prompt me: You will be prompted what choice to make after you close this window. Details differ, prompt me: If the files are identical, but their attributes are different, then you can choose to be prompted on which files attributes to use. Use details from left: The files are identical, but their attributes are different, so copy the attributes from the left file to the right file. Use details from right: The files are identical, but their attributes are different, so copy the attributes from the right file to the left file. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 283 SyncBackPro Help There are four ways to change the Action for a file: · Click on the Action item and select the new action from the drop-down list · Right-click on the row and select the new action from the pop-up menu · Press Ctrl-P for the file collision window to appear · Use hot-keys You can change the action for multiple files by clicking on the rows and pressing the Shift and Ctrl keys. You can press Ctrl-A to select all the files. Right-click on the selection and choose the action from the pop-up menu. Only actions that are available for all the selected files are shown. You can use the following hot-keys to change the action of the selected items: · Ctrl-S: Skip the files · Ctrl-E: Skip and exclude the files · Ctrl-L: Copy files to the source/left · Ctrl-R: Copy files to the destination/right · Ctrl-D: Delete the files from both the source/left and destination/right · Ctrl-U: Mark the files as unchanged (Fast Backup profiles only) · Ctrl-N: The newer file will replace the older file (any version changes are lost) · Ctrl-P: The file collision window will be displayed for each selected item To be prompted immediately on what to do with a file you can select the file (by clicking on its row) and pressing Ctrl-P (or by double-clicking the row, or selecting 'Prompt me now' from the pop-up menu). The File Collision Window will appear from which you can make a choice. Note that nothing is done with the file until after the Differences window is closed. After you have reviewed the differences, made whatever changes are required (if any), and are ready to continue with the profile run, you can click either the 'Continue' button or the 'Abort' button. Aborting will stop the profile run immediately and no files will be copied, deleted, or moved. Main Menu There is a main menu at the top of the Window. You can optionally use the Alt key to show/hide it and also use shortcut keys (Alt-F, Alt-D, Alt-S, Alt-R, Alt-E, Alt-M, Alt-L). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 284 · Filter o Show files/folders not on left: If not selected then files and folders that are only on the right are hidden. o Show files/folders not on right: If not selected then files and folders that are only on the left are hidden. o Show skipped files/folders: If not selected, then skipped files and folders are not shown. o Show changed files: If not selected then files that are on both the left and right, and are different, are hidden. o Show files skipped due to rename: With Intelligent Synchronization profiles files that have been renamed can be detected. When a renamed file is detected there are two entries: the old name and the new name. By enabling this option you can see both entries. · Display o Only show action icons, not text: If selected then the Action column will just show icons and not text. This reduces the width of the Action column giving you more space. o Only show files to be deleted or replaced: If selected then only files that are going to be deleted or replace will be shown. No folders will be displayed. Note that if a file is being moved, and is not replacing a file, then that is not regarded as a file that is to be deleted. To avoid performance problems the display is not automatically updated if you change the action of a file, so to refresh the display you must disable and re-enable this option. Also, this setting is not saved. o Keep window on top of all others: If selected then the Differences window will be placed above all other windows on your desktop. o Show size column: If selected then the Size (bytes) column is shown. o Show date & time column: If selected then the last modification Date & Time column is shown. o Show filename extension column: If selected then the filename Extension column is shown. o Do not display this window again for this profile: If ticked then this window will not be displayed again when this profile is next run. This is identical to the "Skip the Differences screen when this profile is run (it is never shown when unattended)" option in the Compare Options page in the profiles configuration. Note that this checkbox is not shown when the run is a simulation or a restore (as the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 285 SyncBackPro Help Differences window is always shown when a profile is run in simulation or restore mode). · Search o Find: Select this menu item to find files or folders based on their name. For example, to find all files and folders with the text temp in their name simply enter temp. You can also use wild-cards. For example, to find all files with the .txt extension search for *.txt. An asterisks (*) matches zero or more characters. A question mark (?) matches any single character. SyncBack automatically wraps a search term with asterisks unless it is wrapped in double-quotes or has an asterisks or question mark in it. For example, if you search for abc then SyncBack will change that to *abc*. If you really want to search for just abc and not everything with abc in the name then use "abc" o Find Next (F3): Searches for the next item that matches the previously entered search term. · Rollback SyncBack can roll-back files to their state at a previous date & time. When one of the following menu items is selected a window will appear for you to select a date & time to rollback to. See the Rollback section below for details. o Rollback all source/left files: If selected all the source/left files will have their action changed so that they will be rolled back to the selected date & time when the profile continues. o Rollback all destination/right files: If selected all the destination/right files will have their action changed so that they will be rolled back to the selected date & time when the profile continues. o Rollback selected source/left files: If selected all the selected source/left files will have their action changed so that they will be rolled back to the selected date & time when the profile continues. o Rollback selected destination/right files: If selected all the selected destination/right files will have their action changed so that they will be rolled back to the selected date & time when the profile continues. · Export SyncBack can export the rows to a CSV (Comma-Separated Values) file, which can then be imported into other software, e.g. Microsoft Excel. Only the data from visible columns will be exported (including script generated columns). o Export selected...: This will only export the selected rows to the file. o Export all...: This will export all rows to the file. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 286 · Mirror o Mirror all the files/folders to Destination/Right...: When this button is clicked all the files on the left will have their action changed so that they are copied to the right (hold down the SHIFT key while pressing the button to move the files). Any files on the right which are not on the left will have their action changed so they are deleted. This button lets you quickly tell SyncBackPro that the right should have exactly the same files as the left. Note that you can mirror a selection of files via the pop-up menu. o Mirror all the files/folders to Source/Left...: This does the opposite of the above button, i.e. the left should have the same files as the right. Note that you can mirror a selection of files via the pop-up menu. You cannot mirror files to the left if you have a traditional fast backup profile. · Select You can have files in the list automatically selected based on their action. For example, to select all files that are being copied to the destination or deleted from the destination, click the drop-down and select Copy to Destination and Delete from Destination. Restoring Versions Versions of files are restored via the Differences window. One way to ensure the Differences window is displayed is to run the profile by using Ctrl-R. If it's a backup profile you could also run it as a Restore. When there are versions of a file available then a graphic is displayed next to the filename. If a file doesn't exist, but it does have versions, then the filename will be post-fixed (suffixed) with the text [Versions]. To restore a version of a file simply click on the graphic and choose the version to restore from the drop-down list. The list gives the date & time when the version was made (it is not the last modification date & time, or creation date & time, of the file). Once a version to restore is chosen the filename shown will be post-fixed with the date & time of the version to be restored. Versions cannot be restored if the Action is such that restoring the version would be pointless. For example, if you want to copy a source file to the destination (to replace the existing destination file), then you cannot restore a version of the destination file. It would make no sense because SyncBackPro would need to restore the destination version, then copy the source file to the destination, which would then replace the version you wanted to restore. In this case the text [unavailable] will appear in the pop-up menu. If you just want to restore the version change the Action to Skip and then choose the version to restore. Keep in mind that restoring a version means any existing file will be versioned before it is replaced. For example, you have a source file that has one version. If you restore the version © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 287 SyncBackPro Help then a version of the existing source file will be made before the version is restored (basically the files are switched). This makes sense because you may later realize you made a mistake then it's very simple to correct it (you just restore the latest version, which was your original file). It's possible to restore versions for multiple files. First, select the files you want to restore versions for (e.g. press Ctrl-A to choose all the files, or hold down the Ctrl key and click on a file to add it to the selection, or use Shift key and click to select a block of files). Next, rightclick on the filename of one of the files you have selected. A pop-up menu will appear. Choose Restore Version, then Source or Destination (depending on where you want the versions restored), then you can choose either of the following options: · Restore latest version (except if backup file available) - If the file has one or more versions, and doesn't exist in the source/destination, then it will restore the newest version of the file. If the file does exist then it won't do anything with that file. · Restore latest version (even if backup file available) - If the file has one or more versions then it will restore the newest version of the file. Rollback The rollback feature lets you rollback files to their known state at a certain point in time, with the last modification date & time of a file being used to determine this. You can rollback the source or destination. This feature works best when versioning is used otherwise it has nothing to restore from except the files that are on the other side (source or destination). Empty folders are ignored and folders will not be deleted, but folders will be created as needed. Keep in mind that even if you are rolling back the source, for example, it can affect the destination. For example, a versioned file on the destination may be the best file to copy back to the source. In that case the destination will be changed as well because SyncBack will need to restore a version on the destination. For example, you may want to rollback the source to 1pm on the 1st of June 2014. SyncBack will then look at the source, destination, and all the versions to see which file was last modified closest to that date & time (but not after it). It will then change the actions as appropriate. Let's say you are rolling back the source: · SyncBack will first look at the current file on the source and get its last modification date & time. · SyncBack will then look at the current file on the destination. If it was modified after the source file, but before the date & time you want to rollback to, then it will copy that file to the source. · SyncBack will then look at the versions of the source file. If any of the versions are a better option (i.e. they were modified nearer to the rollback date & time but not after it), then it will instead restore one of those versions. · SyncBack will then look at the versions of the destination file. If any of the versions are a better option (i.e. they were modified nearer to the rollback date & time but not after it), then it will instead restore one of those versions and copy it to the source. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 288 When looking at a file, and it sees nothing that was modified before the rollback date & time, then it will do nothing with that file, i.e. it will set the file to be skipped. You can decide to delete the existing file, instead of skipping it and leaving it where it is, when selected the date to rollback to. Comparing Files SyncBack can tell you files are different, and using third party programs, you can ask SyncBack to show you the actual differences between the files. Click the Comparison Programs button to tell SyncBack which programs to use to compare which types of files. To compare files simply click the file (or files to compare multiple files) and press Ctrl-M, or select Compare from the pop-up menu. You can also configure the double-click action to compare files. If a suitable comparison program is not available for the file type then the files will be opened. Note that the files must be retrieved to the local drive for comparison. If you have large files on FTP servers, or slow networks, then there may be a delay while retrieving the files. Opening Files To open (view) a file simply click the file (or files to compare multiple files) and press Ctrl-O, or select Open from the pop-up menu. You can also configure the double-click action to open files. You can also drag & drop files from the Differences window onto your desktop, for example. Click on the file, keep the left-mouse button pressed, drag it to your desktop, and release the mouse button. Note that the files must be retrieved to the local drive to be opened. If you have large files on FTP servers, or slow networks, then there may be a delay while retrieving the files. Collisions A "collision" is when a file in the source and destination differ, yet have the same name. That is, the file is both in the source and destination but is modified in some way, perhaps by date, size, etc. A notification of collisions occur in the "Differences" window which appears by default when making a backup (note however there are circumstances when the "Differences" window does not appear, for example when the user has chosen not to show the window): © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 289 SyncBackPro Help Collisions, and deletions, are shown in red in the "Differences" window to highlight there are going to be changes made when you continue the profile task. If the user views the Differences window carefully, the user has the option to make choices about whether they want to accept the changes SyncBackPro will make, or bypass them with a right click and choose a different action. For more read about the Collision Window. 3.4.2 All Content: 2BrightSparks Pte Ltd © 2003-2021 The File Collision Window When you run a profile, and you have enabled prompting, then the File Collision window will appear when a decision is required from you on what to do with the file. Note that for unattended profile runs, e.g. when scheduled, this window does not appear and instead the file will be skipped. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 290 On the Decisions Files and Folders pages, in Profile Setup, you have the option of asking SyncBackPro to prompt you under certain circumstances, e.g. if a file is in both the source/left and destination/right, but the files are not the same. For example, if you created a backup profile, then run the profile, and edit a file in the source, you would then have a file in the destination that is not the same as the one in the source. On the next run of the profile, if you have configured your profile to be prompted, then a window will appear asking you what action to take for this file. The window has the filename at the top. If the filename is too long to fit in the edit box, you can resize the window. Information is also shown on where the file is in the source/left and destination/right, the size of the file, its last modification date & time, it's attributes, and it's hash value (if you have configured the profile to use hashing for file comparisons). When there are differences the values are highlighted in green or red. For example, if the left/source file is newer than the right/destination file then its date & time is shown in green whereas the right/destination files date & time is shown in red. There are two sets of information: for the file on the left, and for the file on the right. Between the left and right files details is a box listing what actions you can take. There are a number of options available to you, some of which may not be shown depending on how you've configured your profile and what the differences are: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 291 SyncBackPro Help Skip: No action will be taken with this file. The file will not be copied, deleted, or moved, and it will be ignored. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the files will be skipped. Skip and Exclude: No action will be taken with this file. The file will not be copied, deleted, or moved, and it will be ignored. The difference between this action and the plain Skip option is that the file will now always be skipped, including in any future profile runs. It is equivalent to de-selecting the file in the Sub-directories and files window in the profile configuration. If it is a simulated run then the file is simply skipped as per normal and not excluded from future profile runs. Note that the Always button cannot be used with Skip and Exclude to avoid accidentally excluding numerous files and folders. Also, this action is not available if the profile is configured not to use file and folder selections or it is a Fast Backup profile that does not use the archive attribute. Copy to left: The file on the right will replace the file on the left. If you click the Always button then you won't be prompted, during this profile run and in this kind of situation, and instead the left file will be replaced by the right file. Copy to right: The file on the left will replace the file on the right. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the right file will be replaced by the left file. Move to right: Move the left file to the right. This will overwrite the right file, if it exists, and delete the file from the left. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the file on the left will be moved to the right. Move to left: Move the right file to the left. This will overwrite the left file, if it exists, and delete the file from the right. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the file on the right will be moved to the left. Unchanged: This option is only available when running a Fast Backup profile. By selecting this option you are telling SyncBackPro that the file actually hasn't changed and nothing should be done. This is useful, for example, when you have a copy of a file on an FTP server but the date & times do not match. However, you know the file is identical. Delete: The file will be deleted from the left and right. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the files will be deleted. Delete from left: The file on the left will be deleted. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the file on the left will be deleted. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 292 Delete from right: The file on the right will be deleted. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the file on the right will be deleted. Missing, prompt me: The file is either not on the left or right, and you want to be prompted later on what to do when the profile run continues. Note that this option is only available when prompted from the Differences screen. After that screen is shown (or if you've configured the profile not to show that screen) then this option is not available. Collision, prompt me: The file is both on the left and right, and you want to be prompted later on what to do when the profile run continues. Note that this option is only available when prompted from the Differences screen. After that screen is shown (or if you've configured the profile not to show that screen) then this option is not available. Details differ, prompt me: The files are identical but the attributes and/or last modification date & time are different, and you want to be prompted later on what to do when the profile run continues. Note that this option is only available when prompted from the Differences screen. After that screen is shown (or if you've configured the profile not to show that screen) then this option is not available. Use details from left: The files are identical but the attributes and/or last modification date & time are different, but you want to copy the attributes and date & time from the file on the left to the file on the right. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the details from the file on the left will be used. Use details from right: The files are identical but the attributes and/or last modification date & time are different, but you want to copy the attributes and date & time from the file on the right to the file on the left. If you click the Always button then you won't be prompted again, during this profile run and in this kind of situation, and instead the details from the file on the right will be used. If the profile is an Intelligent Synchronization profile then a checkbox labeled Show previous details of the files is shown in the bottom left of the window. To show the previous details of a file you must first select the appropriate file and then tick the checkbox. It will now show the details of the file the last time the profile was run. Obviously new files will not have previous details. After making your decision you can click the OK or Always button. If you click the Abort button then no action is taken and the profile run is immediately stopped. Always What other files are affected when you click the Always button is dependent on the situation. There's an Always action each for: · Collision (file on both sides and they are not the same) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 293 SyncBackPro Help · The file details differ (same file contents but different file attributes) · File only on the left/source · File only on the right/destination For example: if you had a file on both sides, and they are different (i. e. it's a collision), and you selected an action and clicked Always, then that action will be automatically used for files that are on both sides and are different (instead of you being prompted). If, for example, there is a file only on the left/source then the action does not apply to that. Note that the Always decision applies only for the current profile run, i. e. it doesn't apply the next time the profile is run, or the next profile in a group. The Always button cannot be used with the Skip and Exclude action. Compare SyncBack can tell you files are different, and using 3rd party programs, you can ask SyncBack to show you the actual differences between the files. To compare the files simply click the Compare button. Only when there is a file both on the left and right can the files be compared. If a suitable comparison program is not available for the file type then the files will be opened. Note that the files must be retrieved to the local drive for comparison. If you have large files on FTP servers, or slow networks, then there may be a delay while retrieving the files. Shortcut Keys A number of shortcut keys are available to help users who are familiar with the program make choices quickly: L - Copy the file to the left R - Copy the file to the right D - Delete the file Note both files will be chosen for deletion, but if that option is not available, then the file on the right will be chosen for deletion, and if that option is not available, then the file on the left will be chosen for deletion. P - Prompt later for what action to be taken S - Skip the file E - Skip and exclude the file U - The file is unchanged (available only with Fast Backup profiles) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 294 Note that if you use the Ctrl key with these shortcut keys then the action is immediate. For example, if you press Ctrl-R then the action to copy the file to the right is chosen, and the prompt window is closed. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5 Technical Reference The Technical Reference of this help file provides detailed information about: Scripting Pascal Basic Calling DLL functions System Library Base Main Interface Scripts Profile Configuration Scripts Location Scripts Runtime Scripts SBLocation SBProfile SBRunning SBSystem SBVariables © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 295 SyncBackPro Help SBHistory Constants Functions Classes Example Scripts Converting VBScript to Basic Technical Support Wizard 32-bit vs 64-bit Command Line Parameters Filter Settings Open and Locked File Copying Variables Regular Expressions Invalid Profiles Restoring and Selections SyncBack Management Service SyncBack Touch Connection Problems SyncBack Monitor Upgrading Cloud Service Installing Uninstalling SyncBackPro All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 296 3.5.1 Scripting This section of the help file provides information about scripting support. Scripting is a way in which the functionality of SyncBackPro can be changed or extended by writing small scripts. A script is a set of instructions and is similar to the macro support in Microsoft Office and Java Script in web pages. It is also similar to plug-ins in other software. SyncBackPro can use scripts written in Pascal and Basic. For compatibility with older versions of SyncBackPro, VBScript is also supported. However, VBScript can only be used with the 32-bit version of SyncBackPro. The newer Pascal and Basic scripting languages (introduced in SyncBackPro V8) can be used both in 32-bit and 64-bit. SyncBackPro comes with many example scripts. Scripting Overview When SyncBackPro performs certain actions it will check to see if there are any scripts installed that can be called when the action is performed. For example, whenever the profiles are listed in the main window it checks to see if there are any main interface scripts installed. If so, it checks if those scripts can be called, and if so, calls the appropriate function in the script. In technical terms, these are events. You write functions in the scripts that perform actions when certain events occur. To make it easier for the scripts to communicate with SyncBackPro it also provides helper objects, e.g. SBSystem. Depending on the script type, one or more of those helper objects will be available to the script. Installing Scripts To start using a script you must first install it via Scripts in the burger menu in the main window. Note that installing a script does not automatically make the script active. If it's a Main Interface or Profile Configuration script then you must install it then go to the relevant tab and tick the checkbox for that script. To use a Runtime script in a profile, after installing it you must select it in the Scripts page of the profiles configuration. If it's a Location script then you must create (or modify) a profile so it does a backup or sync with that script. You can also install scripts via the command line interface by simply passing the filename of the script (the same way as importing profiles). Alternatively you can drag & drop scripts onto the scripts window. Exporting Scripts To export a script, go to the Scripts window (via burger menu -> Scripts in the main window), select the script (or scripts) you wish to export, then click the Export button. Editing and Checking Scripts © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 297 SyncBackPro Help Starting with SyncBackPro V8, a new built-in script editor was included. This can only be used with Pascal and Basic scripts (VBScript is not supported). To edit a script (after it has been imported), go to the Scripts window (via burger menu -> Scripts in the main window), select the script you wish to edit, then click the Edit button. The script editor has language sensitive syntax highlighting, auto-completion (ctrl-space), parameter hints (ctrl-shift-space) and can compile scripts (ctrl-F7) to check them for errors. You can also perform test search (ctrl-f) and replace (ctrl-r). Script Order The order in which the scripts are set to run is important. This is because, in some cases, only one script can perform an action. For example, if you have a runtime script that renames a file then obviously a file can only be renamed once. This means the first script to rename a file is the one that will rename it. Any following scripts cannot rename the file. Script Types There are four different types of scripts: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 298 1. Main Interface scripts: these are scripts that can be used with the main user interface in SyncBackPro. For example, you could write a script that adds columns to the main window. 2. Profile Configuration scripts: these are scripts that be used when configuring a profile. 3. Location scripts: these are scripts that are used with profiles to store and retrieve files. For example, you could write a location script that copies files to and from a database. 4. Runtime scripts: these are scripts that are used by profiles when they are run. For example, you could write a profile to decide on which files to copy, or add columns to the Differences window. A single script file can be more than one type of script. For example, you could write a script that is both a main interface and runtime script. SyncBackPro knows what type a script is because the script tells SyncBackPro via the Description function. It also knows what scripting language is being used based on comments in the header (first 10 lines) of a script, and failing that, the filename extension of the script file. The following languages can be used with the SBLang comment: Pascal, Basic and VBScript.For filename extensions, use .pas for Pascal, .bas for Basic and .vbs for VBScript. VBScript support is provided for backwards compatibility only and its use is not recommended. VBScript is only supported by 32-bit SyncBackPro and it may be removed in future versions of SyncBackPro. For example, the following Pascal script is a profile configuration, runtime, and location script: // // Use SBLang to define what language this script is in: // // SBLang=Pascal // Function Description(var ScriptType); begin Result:='All Drives Location'; ScriptType:=SCRIPTTYPE_CONFIG + SCRIPTTYPE_RUN + SCRIPTTYPE_LOCATION; End; Scripts Objects SyncBackPro makes a number of objects available to scripts to help them interface with SyncBackPro. Which objects are available depends upon the type of script: · SBLocation: This object is only accessible from Location scripts. It provides information and control over the source/left and destination/right locations. · SBProfile: This object is only accessible from Profile Configuration scripts. It allows you to create a page in the profile setup window. · SBRunning: This object is only accessible from Runtime scripts. Using this object you can access the runtime information of a profile. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 299 SyncBackPro Help · SBSystem: This object is accessible from any type of script. It provides general functions, e.g. hashing. · SBVariables: This object is accessible from any type of script. It allows you access to the profile and program variables. · SBHistory: This object is accessible from Main Interface, Runtime and Profile Configuration scripts. Using it you can get access to the runtime history of a profile. Scripts Online If you have scripts you wish to share, or want to download more scripts, visit the following web page: http://www.2brightsparks.com/syncback/scripts/index.html All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.1 Pascal The Pascal syntax is similar to Delphi and supports: · begin .. end constructor · procedure and function declarations · if .. then .. else constructor · for .. to .. do .. step constructor · while .. do constructor · repeat .. until constructor · try .. except and try .. finally blocks · case statements · array constructors (x:=[ 1, 2, 3 ];) · ^ , * , / , and , + , - , or , <> , >=, <= , = , > , < , div , mod , xor , shl , shr operators · access to object properties and methods ( ObjectName.SubObject.Property ) Like in Pascal, statements should be terminated by the ";" character. Begin..end blocks are allowed to group statements. Identifiers Identifier names in scripts (variable names, function and procedure names, etc.) follow the most common rules in Pascal: they should begin with a character (a..z or A..Z), or '_', and can be followed by alphanumeric chars or '_' char. They cannot contain any other character or spaces. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 300 · Valid: VarName, _Some, V1A2, _____Some____ · Invalid: 2Var, My Name, Some-more, This,is,not,valid Assign Statements Just like in Pascal, assign statements (assign a value or expression result to a variable or object property) are built using ":=". Examples: MyVar := 2; Button.Caption := 'This ' + 'is ok.'; Character Strings Strings (sequence of characters) are declared in Pascal using single quote (') character. Double quotes (") are not used. You can also use #nn to declare a character inside a string. There is no need to use '+' operator to add a character to a string. For example: A := 'This is a text'; Str := 'Text '+'concat'; B := 'String with CR and LF char at the end'#13#10; C := 'String with '#33#34' characters in the middle'; Comments Comments can be inserted inside scripts. You can use // chars or (* *) or { } blocks. Using // the comment will finish at the end of line. For example: // This is a comment before ShowMessage ShowMessage('Ok'); (* This is another comment *) ShowMessage('More ok!'); { And this is a comment with two lines } ShowMessage('End of okays'); Variables Unlike Basic scripting, when using Pascal you must declare variables. However, there is no need to declare variable types. To declare variables use the var directive and the variable name. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 301 SyncBackPro Help procedure Msg; var S; begin S:='Hello world!'; ShowMessage(S); end; Indexes Strings, arrays and array properties can be indexed using "[" and "]" chars. For example, if Str is a string variable, the expression Str[3] returns the third character in the string denoted by Str, while Str[X + 1] returns the character immediately after the one indexed by X. For example: MyChar:=MyStr[2]; MyStr[1]:='A'; MyArray[1,2]:=1530; Lines.Strings[2]:='Some text'; Arrays Array constructors and variant arrays are supported. To construct an an array, use "[" and "]" chars. You can construct multi-index array nesting array constructors. You can then access arrays using indexes. If the array is multi-index, separate indexes using ",". If a variable is a variant array, then indexing in that variable is supported. A variable is a variant array if it was assigned using an array constructor, if it is a direct reference to a Delphi variable which is a variant array or if it was created using the VarArrayCreate procedure. Arrays are 0-based index. For example: NewArray := [ 2,4,6,8 ]; Num:=NewArray[1]; //Num receives "4" MultiArray := [ ['green','red','blue'] , ['apple','orange','lemon'] ]; Str:=MultiArray[0,2]; //Str receives 'blue' MultiArray[1,1]:='new orange'; If statements There are two forms of if statement: if...then and the if...then...else. Like normal Pascal, if the if expression is true, the statement (or block) is executed. If there is an else part and the expression is false, then the statement (or block) after else is executed. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 302 if J <> 0 then Result := I/J; if J = 0 then Exit else Result := I/J; if J <> 0 then begin Result := I/J; Count := Count + 1; end else Done := True; While statements A while statement is used to repeat a statement or a block, while a control condition (expression) is evaluated as true. The control condition is evaluated before the statement. Hence, if the control condition is false at first iteration, the statement sequence is never executed. The while statement executes its constituent statement (or block) repeatedly, testing the expression before each iteration. As long as the expression returns True, execution continues. For example: while Data[I] <> X do I := I + 1; while I > 0 do begin if Odd(I) then Z := Z * X; I := I div 2; X := Sqr(X); end; while not Eof(InputFile) do begin Readln(InputFile, Line); Process(Line); end; Repeat statements The syntax of a repeat statement is repeat statement1; ...; statementn; until expression where expression returns a Boolean value. The repeat statement executes its sequence of constituent statements continually, testing the expression after each iteration. When the expression returns True, the repeat statement terminates. The sequence is always executed at least once because the expression is not evaluated until after the first iteration. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 303 SyncBackPro Help repeat K := I mod J; I := J; J := K; until J = 0; repeat Write('Enter a value (0..9): '); Readln(I); until (I >= 0) and (I <= 9); For statements The for statement has the following syntax: for counter := initialValue to finalValue do statement The for statement sets the counter to initialValue, repeats execution of the statement (or block) and increments the value of counter until counter reaches finalValue. For example: for c:=1 to 10 do a:=a+c; for i:=a to b do begin j:=i^2; sum:=sum+j; end; Case statements Case statements have the following syntax: case selectorExpression of caseexpr1: statement1; ... caseexprn: statementn; else elsestatement; end; if selectorExpression matches the result of one of the caseexprn expressions, the respective statement (or block) will be executed. Otherwise, the elsestatement will be executed. The Else part of a case statement is optional. It is different from Delphi because the case statement in doesn't need to use only ordinal values. You can use expressions of any type in both selector expression and case expression. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 304 case uppercase(Fruit) of 'lime': ShowMessage('green'); 'orange': ShowMessage('orange'); 'apple': ShowMessage('red'); else ShowMessage('black'); end; Function and Procedure declarations The declaration of functions and procedures is similar to Object Pascal in Delphi, with the difference you don't specify variable types. Just like OP, to return function values, use the implicitly declared result variable. Parameters by reference can also be used, with the restriction that there is no need to specify variable types. For example: procedure HelloWorld; begin ShowMessage('Hello world!'); end; procedure UpcaseMessage(Msg); begin ShowMessage(Uppercase(Msg)); end; function TodayAsString; begin result:=DateToStr(Date); end; function Max(A,B); begin if A>B then result:=A else result:=B; end; procedure SwapValues(var A, B); Var Temp; begin Temp:=A; A:=B; B:=Temp; end; All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 305 SyncBackPro Help 3.5.1.2 Basic Although the Basic script syntax is very similar to VBScript, it is not identical and there are differences. See the Converting VBS to Basic section for details. The Basic syntax supports: · sub .. end and function .. end declarations · byref and dim directives · if .. then .. else .. end constructor · for .. to .. step .. next constructor · do .. while .. loop and do .. loop .. while constructors · do .. until .. loop and do .. loop .. until constructors · ^ , * , / , and , + , - , or , <> , >=, <= , = , > , < , div , mod , xor , shl , shr operators · try .. except and try .. finally blocks · try .. catch .. end try and try .. finally .. end try blocks · select case .. end select constructor · array constructors (x:=[ 1, 2, 3 ];) · exit statement · access to object properties and methods (ObjectName.SubObject.Property) Identifiers Identifier names in scripts (variable names, function and procedure names, etc.) follow the most common rules in Basic: they should begin with a character (a..z or A..Z), or '_', and can be followed by alphanumeric chars or '_' char. They cannot contain any other character or spaces. For example: · Valid: VarName, _Some, V1A2, _____Some____ · Invalid: 2Var, My Name, Some-more, This,is,not,valid Assign Statements Assign statements (assign a value or expression result to a variable or object property) are built using "=".. Examples: MyVar = 2 Button.Caption = "This " + "is ok." New statement © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 306 The "new" statement is provided for the Basic syntax. Since you don't provide the method name in this statement, it looks for a method named "Create" in the specified class. If the method doesn't exist, the statement fails. For example: MyLabel = new TLabel(Form1) MyFont = new TFont In the above examples, a method named "Create" for TLabel and TFont class will be called. The method must be registered. If the method receives parameters, you can pass the parameters in parenthesis, like the TLabel example above. Character Strings Strings (sequence of characters) are declared in Basic using the double quotes (") character. For example: A = "This is a text" Str = "Text "+"concat" Comments Comments can be inserted inside scripts. You can use ' chars or REM. A comment will finish at the end of the line. For example: ' This is a comment before ShowMessage ShowMessage("Ok") REM This is another comment ShowMessage("More ok!") ' And this is a comment ' with two lines ShowMessage("End of okays") Variables To aid with VBScript compatibility, there is no need to declare variable types or even variables themselves. However, if you wish to declare variables you can using the DIM directive and the variable name. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 307 SyncBackPro Help SUB Msg DIM S S = "Hello world!" ShowMessage(S) END SUB DIM A A = 0 A = A+1 ShowMessage(A) You can also declare global variables as private or public using the following syntax : PRIVATE A PUBLIC B B = 0 A = B + 1 ShowMessage(A) Variables declared with the DIM statement are public by default. Private variables are not accessible from other scripts. Variables can be default initialized with the following syntax: DIM A = "Hello world" DIM B As Integer = 5 Indexes Strings, arrays and array properties can be indexed using "[" and "]" chars. For example, if Str is a string variable, the expression Str[3] returns the third character in the string denoted by Str, while Str[I + 1] returns the character immediately after the one indexed by I. For example: MyChar = MyStr[2] MyStr[1] = "A" MyArray[1,2] = 1530 Lines.Strings[2] = "Some text" Arrays Array constructors and variant arrays are supported. To construct an an array, use "[" and "]" chars. You can construct multi-index array nesting array constructors. You can then access arrays using indexes. If the array is multi-index, separate indexes using ",". If a variable is a variant array, then indexing in that variable is supported. A variable is a variant array if it was assigned using an array constructor, if it is a direct reference to a Delphi variable which is a variant array or if it was created using the VarArrayCreate procedure. Arrays are 0-based index. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 308 NewArray = [ 2,4,6,8 ] Num = NewArray[1] //Num receives "4" MultiArray = [ ["green","red","blue"] , ["apple","orange","lemon"] ] Str = MultiArray[0,2] //Str receives 'blue' MultiArray[1,1] = "new orange" If statements There are two forms of if statement: if...then...end and the if...then...else...end if. Like normal Basic, if the if expression is true, the statement (or block) is executed. If there is an else part and the expression is false, then the statement (or block) after else is executed. For example: FUNCTION Test(I, J) IF J <> 0 THEN Result = I/J END IF IF J = 0 THEN Exit Function ELSE Result = I/J END IF IF J <> 0 THEN Exit Function ELSE Result = I/J END IF END FUNCTION If the IF statement is in a single line, you don't need to finish it with END IF: IF J <> 0 THEN Result = I/J IF J = 0 THEN Exit ELSE Result = I/J While statements A while statement is used to repeat a statement or a block, while a control condition (expression) is evaluated as true. The control condition is evaluated before the statement. Hence, if the control condition is false at first iteration, the statement sequence is never executed. The while statement executes its constituent statement (or block) repeatedly, testing the expression before each iteration. As long as the expression returns True, execution continues. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 309 SyncBackPro Help WHILE (Data[I] <> X) I = I + 1 END WHILE WHILE (I > 0) IF Odd(I) THEN Z = Z * X END IF X = Sqr(X) END WHILE WHILE (not Eof(InputFile)) Readln(InputFile, Line) Process(Line) END WHILE loop statements The possible syntax's are: DO WHILE expr statements LOOP DO UNTIL expr statements LOOP DO statements LOOP WHILE expr DO statement LOOP UNTIL expr The statements will be executed WHILE expr is true, or UNTIL expr is true. If expr is before statements, then the control condition will be tested before iteration. Otherwise, control condition will be tested after iteration. For example: DO K = I mod J I = J J = K LOOP UNTIL J = 0 DO UNTIL I >= 0 Write("Enter a value (0..9): ") Readln(I) LOOP DO K = I mod J I = J J = K LOOP WHILE J <> 0 DO WHILE I < 0 Write("Enter a value (0..9): ") Readln(I) LOOP © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 310 For statements For statements can have the following syntax: FOR counter = initialValue TO finalValue STEP stepValue statements NEXT. The for statement sets counter to initialValue, repeats execution of statements until "next" and then increments value of counter by stepValue, until counter reaches finalValue. The step part is optional, and if omitted stepValue is considered to be 1. For example: FOR c = 1 TO 10 STEP 2 a = a + c NEXT FOR I = a TO b j = i ^ 2 sum = sum + j NEXT select case statements Case statements have the following syntax: SELECT CASE selectorExpression CASE caseexpr1 statement1 ... CASE caseexprn statementn CASE ELSE elsestatement END SELECT if selectorExpression matches the result of one of the caseexprn expressions, the respective statements will be executed. Otherwise, the elsestatement will be executed. The Else part of a case statement is optional. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 311 SyncBackPro Help SELECT CASE uppercase(Fruit) CASE "lime" ShowMessage("green") CASE "orange" ShowMessage("orange") CASE "apple" ShowMessage("red") CASE ELSE ShowMessage("black") END SELECT function and sub declarations The declaration of functions and subs is similar to Basic. Functions return values, which are returned using the implicitly declared variable (with the same name as the function) or via the Return statement. Parameters by reference can also be used, by using the BYREF directive. For example: SUB HelloWorld ShowMessage("Hello world!") END SUB SUB UpcaseMessage(Msg) ShowMessage(Uppercase(Msg)) END SUB FUNCTION TodayAsString TodayAsString = DateToStr(Date) END FUNCTION FUNCTION Max(A,B) IF A>B THEN MAX = A ELSE MAX = B END IF END FUNCTION SUB SwapValues(BYREF A, B) DIM TEMP TEMP = A A = B B = TEMP END SUB You can use Return statement to exit subs and functions. For functions, you can also return a valid value: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 312 SUB UpcaseMessage(Msg) ShowMessage(Uppercase(Msg)) Return 'This line will be never reached ShowMessage("never displayed") END SUB FUNCTION TodayAsString Return DateToStr(Date) END FUNCTION All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.3 Calling DLL functions You can import and call external DLL functions by inserting special directives on declaration of script routines, indicating library name and, optionally, the calling convention, beyond the function signature. External libraries are loaded on demand, before function calls, if not already loaded (dynamically or statically). To load and unload libraries explicitly, the Windows functions LoadLibary and FreeLibrary from unit Windows can be used. Pascal Syntax function functionName(arguments): resultType; [callingConvention]; external For example, the following declaration: function MyFunction(arg: integer): integer; external 'CustomLib.dll'; imports a function called MyFunction from CustomLib.dll. The default calling convention, if not specified, is register. You can declare different calling conventions (stdcall, register, pascal, cdecl or safecall) and use a different name for the DLL function. For example: function MessageBox(hwnd: pointer; text, caption: string; msgtype: integer) that imports the MessageBoxA function from User32.dll (Windows API library), but will be called using MessageBox in the script. Declarations can be used for functions and procedures (routines without result value). Basic Syntax function lib "libName.dll" [alias ExternalFunctionName] [callingConvention] © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 313 SyncBackPro Help For example, the following declaration: function lib "CustomLib.dll" MyFunction(arg as integer) as integer imports a function called MyFunction from CustomLib.dll. The default calling convention, if not specified, is stdcall. You can declare different calling conventions (stdcall, register, pascal, cdecl or safecall) and use a different name for DLL function. For example: function MessageBox lib "User32.dll" alias "MessageBoxA" stdcall (hwnd as pointer, text as string, caption as string, msgtype as integer) as that imports the MessageBoxA function from User32.dll (Windows API library), but will be called using MessageBox in the script. Declaration can be used for functions and subs (routines without result value). Supported Types The following data types (on arguments and result of external functions) are supported: Integer Boolean Char Extended String Pointer PChar Object Class WideChar PWideChar AnsiString Currency Variant Interface WideString Longint Cardinal Longword Single Byte Shortint Word Smallint Double Real DateTime © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 314 Others types (records, arrays, etc.) are not supported. Arguments of the above types can be passed by reference, by adding var (Pascal) or byref (Basic), in parameter declarations. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.4 System Library There are a number of built-in functions that are part of the scripting system. SyncBackPro also provides extra functions via SBSystem and other miscellaneous functions and classes. There are also built-in constants and functions provided for compatibility with VBScript (if you are using the Basic language). For help and details on these functions, refer to the Delphi online documentation: Abs AnsiCompareStr AnsiCompareText AnsiLowerCase AnsiUpperCase Append ArcTan Assigned AssignFile Beep Chdir Chr CloseFile CompareStr CompareText Copy Cos CreateOleObject Date DateTimeToStr DateToStr DayOfWeek Dec DecodeDate DecodeTime Delete EncodeDate EncodeTime EOF Exp FilePos FileSize FloatToStr Format © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 315 SyncBackPro Help FormatDateTime FormatFloat Frac GetActiveOleObject High Inc IncMonth InputQuery Insert Int IntToHex IntToStr IsLeapYear IsValidIdent Length Ln Low LowerCase Now Odd Ord Pos Raise Random ReadLn Reset Rewrite Round ShowMessage Sin Sqr Sqrt StrToDate StrToDateTime StrToFloat StrToInt StrToIntDef StrToTime Time TimeToStr Trim TrimLeft TrimRight Trunc UpperCase VarArrayCreate VarArrayHighBound VarArrayLowBound VarIsNull VarToStr © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 316 Write WriteLn There are also some other special functions: procedure Interpret(Ascript: string); Executes the script source code specified by Ascript parameter function Machine: TatVirtualMachine; Returns the current virtual machine executing the script. function Scripter: TatCustomScripter; Returns the current script component. function SetOf(array): integer; Returns a set from the array passed. For example: MyFontStyle := SetOf([fsBold, fsItalic]); All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.5 Base These are functions that should be defined in all scripts regardless of their type. All scripts must implement the Description function, but the others are optional. The functions are called by SyncBackPro at the appropriate time. All the example code below is written in using the Pascal scripting language. function Description(var ScriptType); ScriptType: Set this to the type of script Return value: A short description of the script (this is shown to the user) This function is mandatory. All scripts must declare this function. Called to get a description of the script and what type of script it is. The description is not stored and so can be dynamic, however this should not be relied upon in future. The description is stripped of newline and carriage return characters. The script type is an integer that defines when the script should be used by SyncBack. It is a bitmask (i.e. the values can be or'ed together) of the following types: SCRIPTTYPE_NONE = Not a valid script SCRIPTTYPE_CONFIG = A script that can be used when configuring profiles (a 'configuration' script) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 317 SyncBackPro Help SCRIPTTYPE_RUN = A script that can be used by profiles at run-time (a 'run-time' script) SCRIPTTYPE_MAIN = A script that can be used by in the main user interface (a 'main' script) SCRIPTTYPE_LOCATION = A script that can be used by profiles to store and retrieve files (a 'location' script) A single script file can be used in more than one place. For example, if a script was both a location and a run-time script then its ScriptType value would be SCRIPTTYPE_LOCATION + SCRIPTTYPE_RUN. The script type is stored by SyncBack when the script is installed. function Description(var ScriptType); begin Result:='A short description of what this script does'; ScriptType:=SCRIPTTYPE_CONFIG + SCRIPTTYPE_LOCATION; end; function FilesToExport(Interactive, Counter); Interactive: Passed as True if the script can prompt the user Counter: This is initially passed as 0 (zero) and incremented on each call Return value: The complete filename of a file to be exported along with the script Called when a script is being exported as part of a profile. This function is called repeatedly until an empty string is returned. For the first call the Counter value is zero, and is incremented on each call. The script should return the filenames (one per call) of files that SyncBack should include into the exported profile (the .SPS file). The filenames must be complete filenames including the drive and path. Note that when the script is imported, the files (and the script) will all be put into their own unique folder and then the Install function will be called (the script can then move those files, if required, and do any other installation tasks, e.g. register COM objects). Do not include the filename of the script itself as that is included automatically. This function does not need to be defined if the script has no accompanying files. If Interactive is True then the script can prompt for user input, otherwise it must not ask for user input (e.g. dialogs boxes should not be displayed). function FilesToExport(Interactive, Counter); begin if (Counter = 0) then Result:='C:\abc\def\ghi.txt' else if (Counter = 1) then Result:='D:\another\folder\file.exe' else Result:=''; end; end; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 318 function Install(Interactive); Interactive: Passed as True if the script can prompt the user Return value: An error message on failure Called when the script is installed into SyncBack. On failure it should return an error message, in which case the script will not be installed. This function is called when a script is installed, either by the user via the Script window, or via the import of a profile that uses scripts. It can be used, for example, to move files used by the script to their correct places or to register COM objects. Note that if a script is already installed then Install is not called. You should not prompt the user, or expect user input, if Interactive is passed as FALSE. function Install(Interactive); begin if Interactive then SBSystem.Say('Installed'); end; procedure Uninstall(); This function is called when the script is uninstalled from SyncBack. It should assume no user is present, i.e. it should not prompt the user for input. procedure Uninstall; begin SBSystem.Say('Uninstalled'); end; All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.6 Main Interface Scripts These are functions that are defined in your Main Interface script and are called by SyncBackPro. A main interface script can enhance or change the main user interface. For example, you can add columns to show extra information about profiles, or perform some action when a key is pressed. The functions are called by SyncBackPro at the appropriate time. Main Interface scripts have access to the SBSystem, SBVariables, and SBHistory objects. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 319 SyncBackPro Help All the example code below is written in using the Pascal scripting language. function MainColumnHint(Col, IsGroup, ProfileName); Col: The column number IsGroup: True if the profile is a group ProfileName: The name of the profile Return value: The hint string to display This subroutine is called from the main window when a custom column hint is required. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. function MainColumnsCount; Return value: The number of custom columns, or zero if none are required This function is called from the main window to ask the script how many custom columns it wants created in the main window. Note that this value is cached so the function is only called once (when the main window appears, i.e. when the program is run). function MainColumnSort(Col, IsGroup1, IsGroup2, ProfileName1, ProfileName2); Col: The column the display is being sorted on IsGroup1: True if ProfileName1 is a group IsGroup2: True if ProfileName2 is a group ProfileName1: The name of a profile ProfileName2: The name of a profile Return value: An integer (<0 if profile 1 should go before profile 2, 0=same profile, > 0 if profile 1 should go after profile 2) This function is called from the main window when a custom column is being sorted. The first custom column is column zero. The script is only called for its custom columns and not for columns created by other scripts. Important: As little processing or disk reading as possible should be done in this subroutine. Whenever possible use in-memory caching. See the History.vbs script as an example. function MainColumnText(Col, IsGroup, ProfileName); Col: The column number IsGroup: True if ProfileName refers to a group profile © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 320 ProfileName: The name of the profile Return value: The text to display in the column This function is called from the main window when text for a custom column is required. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. Important: As little processing or disk reading as possible should be done in this subroutine. Whenever possible use in-memory caching. See the History.vbs script as an example. function MainColumnTitle(Col; var Width); Col: The column number Width: Set it to the width the column should be (in pixels) Return value: The columns title This function is called from the main window when the title for a custom column is required. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. function NewVersionCheck(var ErrMsg); ErrMsg: If a check cannot be made then set an error message, else set to an empty string Return value: If a new version is available then return the URL to open the web browser with, else return empty string This function is deprecated. SyncBack V9 introduced NewVersionCheckEx which is the replacement. This function is called when SyncBack checks to see if a new version of SyncBack is available. The function should not prompt the user as update checks are usually made in the background. Also take into account that it may be unattended. - If any script returns an error message then the update check is aborted. - If any script returns a URL then the update check is aborted and the user is told a new version is available. - If a script returns the URL string '*' then the update check is aborted and the user is told there is no new version. - If all the scripts return an empty string URL, and no error messages, then SyncBack will check the 2BrightSparks web site to see if there is a new version available. function NewVersionCheckEx(var ErrMsg); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 321 SyncBackPro Help ErrMsg: If a check cannot be made then set an error message, else set to an empty string Return value: If a new version is available then return the URL to open the web browser with, else return empty string This function is called when SyncBack checks to see if a new version of SyncBack is available. The function should not prompt the user as update checks are usually made in the background. Also take into account that it may be unattended. - If any script returns an error message then the update check is aborted. - If any script returns a URL then the update check is aborted and the user is told a new version is available. - If a script returns the URL string '*' then the update check is aborted and the user is told there is no new version. - If all the scripts return an empty string URL, and no error messages, then SyncBack will check the 2BrightSparks web site to see if there is a new version available. function PollingRefresh; Return value: True if the script wants RefreshDisplayEx or RefreshDisplay called even if there is no reload or refresh of profile data This function is called from the main window to ask the script if it wants to have RefreshDisplayEx or RefreshDisplay called even when no profiles have been reloaded or refreshed. It is called just before MainColumnsCount and is only called once on program startup. If the function is not defined then it is assumed the script does not want to be called. procedure MainColumnClicked(Col, IsGroup, ProfileName); Col: The column number IsFile: True if it is a group profile ProfileName: The name of the profile This subroutine is called from the main window when a custom column is clicked. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. procedure MainEnded(EndSession); EndSession: Passed as TRUE on Windows shutdown, restart or logout This subroutine is called when SyncBack stops. The script should not prompt the user or expect any user interaction. It should also not try to stop the program from exiting. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 322 In previous versions this subroutine was not called on Windows shutdown, restart or logout if profiles were set to run in those situations. In V7 and newer it is called and also EndSession will be passed as TRUE (it is FALSE if the program is closing because the user manually closed it, for example). When EndSession is TRUE you must not delay as Windows may terminate the process if it is taking too long. procedure MainFocusChanged(IsGroup, ProfileName); IsGroup: True if ProfileName refers to a group ProfileName: The name of the profile This subroutine is called from the main window when the focused node changes. procedure MainKeyPress(Key, Shift, IsGroup, ProfileName); Key: The key that as pressed Shift: The shift state IsGroup: True if ProfileName refers to a group profile ProfileName: The name of the profile This subroutine is called from the main window when a key is pressed. It is called for each selected row. It is not called if the Delete key is pressed (as that is handled by SyncBack itself). The Key value refers to the virtual key codes. The Shift state can be a selection values (see RunDiffKeyPress for details) procedure MainStarted(Unattended); Unattended: If True then do not prompt the user or expect any user interaction This subroutine is called when SyncBack starts. procedure RefreshDisplay; This subroutine is called when SyncBack refreshes or updates the main display. It is deprecated and instead RefreshDisplayEx is recommended. Important: As little processing or disk reading as possible should be done in this subroutine. Whenever possible use in-memory caching. See the History.vbs script as an example. procedure RefreshDisplayEx(Reloading, Refreshing); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 323 SyncBackPro Help Reloading: Passed as TRUE if the list was reloaded Refreshing: The names of the profiles that were refreshed. If using newer scripting then this is a TStringList. If using legacy Windows Scripting then this is a Scripting.Dictionary object. This subroutine is called when SyncBack refreshes or updates the main display. Reloading is TRUE if the list of profiles has been reloaded. This usually happens when a profile has been deleted, created, or renamed. If a profile has been renamed then the old profile name is passed in Refreshing. On program start, and when the users refreshes the list by pressing V5, for example, Reloading is passed as TRUE and Refreshing contains just one empty string (meaning all profiles are being refreshed). Refreshing lists the names of all the profiles that were refreshed (in the key, the item is always empty). This usually happens when a profile has been modified. If Refreshing contains just one key, and the key is an empty string, then all the profiles have been refreshed. For the legacy Windows Scripting, Refreshing is a Scripting.Dictionary object. For newer scripting it's a TStringList object. So you can get the total number of profiles via TStringList(Refreshing).Count and get the profile names via TStringList(Refreshing).Strings[0] (the list is zero-based). If Reloading is FALSE and Refreshed is empty then this is just a polling call. For example, if nothing is happening (which includes profiles running), then it may be a polling call. Note that when a profile starts and stops then RefreshDisplayEx (or RefreshDisplay) is called with the name in Refreshing. How frequently a polling call is made depends on the refresh rate set by SyncBackPro. In most cases you won't need to do anything and so your script will not be called. However, if you do want the script to be called in these cases then see PollingRefresh. Important: As little processing or disk reading as possible should be done in this subroutine. Whenever possible use in-memory caching. See the History.vbs script as an example. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.7 Profile Configuration Scripts These are functions that are defined in your Profile Configuration script and are called by SyncBackPro. The functions are called by SyncBackPro at the appropriate time. Profile Configuration scripts have access to the SBProfile, SBSystem, SBVariables, and SBHistory objects. All the example code below is written in using the Pascal scripting language. function ConfigCanClose; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 324 Return value: FALSE if the setup page should not be allowed to close This function is called by SyncBack to ask the script if the setup page can be closed. The script may not want the setup page to close if, for example, some settings are incorrect (however, in this case it is advised that the script simply not save invalid settings). function ConfigCanRevert; Return value: TRUE if the script supports reverting to factory defaults This function is called by SyncBack to ask the script if it can revert its settings to the factory defaults. Note that it should not revert to the factory settings in this call (for that see ConfigFactoryDefaults). function ConfigLoadSettings; Return value: Return an error message on failure This function is called to tell the script to load its settings and update the display to show those settings. For example: // Create setup window display procedure ConfigSetupDisplay; begin SBProfile.AddEdit('The name of the process you want to have finished runni SBProfile.AddEdit('The number of seconds to wait before re-checking if it end; // Load settings. Return error message on failure. function ConfigLoadSettings; begin Result:=''; SBProfile.SetEdit(SBVariables.GetProperty('WFProcessName', 'Notepad.exe', SBProfile.SetEdit(SBVariables.GetProperty('WFRetrySecs', 5, FALSE), 2); end; function ConfigNodeCaption; Return value: The caption to use in the profile setup window This function is called to get the caption to use in the profile setup window. function ConfigSaveSettings(Silent); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 325 SyncBackPro Help Silent: Is TRUE if the script should not display any prompts or interact with the user Return value: Return an error message on failure This function is called when the script should save its settings. It should also check to make sure the settings are valid. For example: // Save settings. Return error message on failure. function ConfigSaveSettings(Silent); begin Result:=''; if (SBProfile.GetEdit(1) = '') then begin ConfigSaveSettings:='The process name cannot be empty!'; Exit; end; if (SBProfile.GetEdit(2) < 1) then begin ConfigSaveSettings:='The retry secionds cannot be less than 1!'; Exit; end; SBVariables.SetProperty('WFProcessName', SBProfile.GetEdit(1)); SBVariables.SetProperty('WFRetrySecs', SBProfile.GetEdit(2)); end; function ConfigWantSetupNode(IsGroup); IsGroup: Pass TRUE if the profile is a group profile Return value: True if a node in the setup window for the profile is required Should a node in the profile setup window be created for this script to use? Note that the result should be consistent, e.g. it should not be based on what the current time is. This is because this function is called several times once the profile setup window is displayed for a profile, and each time it is called the result should be the same. procedure ConfigButtonPressed(Tag); This subroutine is called when a button on the profile settings page has been pressed. NOTE: Not available when using old Windows scripting. procedure ConfigFactoryDefaults; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 326 This subroutine is called when the user has reverted to factory defaults. In this case the script should delete all the profile settings it manages. By doing this the default values will be used when the settings are read. For example: // Reset to factory defaults procedure ConfigFactoryDefaults; begin SBVariables.DeleteProperty('WFProcessName'); SBVariables.DeleteProperty('WFRetrySecs'); end; procedure ConfigSetupDisplay; This subroutine is called when the script should tell SyncBack what items the setup page should have on it. For example: // Create setup window display procedure ConfigSetupDisplay; begin SBProfile.AddEdit('The name of the process you want to have finished runni SBProfile.AddEdit('The number of seconds to wait before re-checking if it end; procedure ConfigUpdateConditionals; This subroutine is called when an item on the profile settings page has been changed. The script can then verify the new values, enable or disable other items based on the new values, etc. procedure InitialiseVars(Checking); Checking: Passed as True if the variables are being checked to see if they exist This subroutine is called when the variables are initialised when a profile is being created or modified. Checking is passed as TRUE. Note that if your script is also a run-time script then this sub-routine is shared. A configuration script does not have access to the SBRunning object. In the example below the variable MyScriptVar is set to a dummy value if it's a call to check if the variable is valid. // // Called very early when a profile is run (Checking is False) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 327 SyncBackPro Help // Also called in profile config when asking what variables the script sets // procedure InitialiseVars(Checking); begin if Checking then begin // Profile is being saved SBVariables.SetVar('MyScriptVar', '?'); end else begin // Profile is being run // Do nothing end; end; All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.8 Location Scripts These are functions that are defined in your Location script and are called by SyncBackPro. A location script is one that controls how files and folders are stored. For example, you could create a location script to backup to a 7zip archive file, or to a database, for example. The functions are called by SyncBackPro at the appropriate time. For a profile to use a location script you must configure the profile to use it. Location scripts have access to the SBLocation and SBSystem objects. All the example code below is written in using the Pascal scripting language. function LocAbilities; Return value: The abilities of the script This function is called so SyncBack knows what abilities (functions) the location script supports. Note that the value is cached, so the first value returned is used through-out the entire profile run. The script can optionally support a number of features (the values can be OR'ed together, e.g. CAN_COPYDIRATTRS + CAN_NTFSATTRIBUTES: For example: function LocAbilities; begin // Cannot use CAN_EXACTDATETIME because some drives may be FAT32 // Cannot use CAN_NTFSATTRIBUTES because some drives may be FAT32 Result:= CAN_COPYDIRATTRS + CAN_USEATTRIBUTES + CAN_CHANGEDATETIME + CAN_HAVEEMPTYPATH + CAN_VERSION + CAN_MOVE_FILES + CAN_USECRC32 + © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 328 CAN_MOVE_FOLDERS; end; function LocConnect(MainThread); MainThread: Passed as True if it is being called from a user interface Return value: An error message if the script cannot be connect, otherwise an empty string This function is called to tell the script to connect to the storage location. There are two different ways in which this function is called: from the profile thread, or from the main thread (which is the user interface, e.g. the Differences window or the File Prompt window). When a profile is run then an instance of the script is created, and that instance is used while the profile is running. However, when there is user interaction (e.g. from the Differences window) then a new script instance is created. This means the state is different between the scripts, i.e. they have different global variables. Return an error message if the script cannot connect to the storage location, e.g. the network is down. function LocConnected; Return value: An error message if the script is not connected, otherwise an empty string This function is called to tell ask the script if it is connected to its storage location. If it is connected (or doesn't need to connect to anything) then return an empty string, otherwise return an error message. See also LocReconnect and LocConnect function LocCRC32(Filename; var CRC32); Filename: The complete path of the file to get the hash value of CRC32: Set this to the CRC32 hash value of the file, in string format Return value: An error message if the CRC32 cannot be retrieved, otherwise an empty string This function is called when the CRC32 hash value of a file is required, e.g. for verification. The entire filename is passed, including the base path. If the CRC32 hash value cannot be retrieved then an error message should be returned. Note that the CRC32 hash value should be returned in string format, e.g. E75A6A52 For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 329 SyncBackPro Help function LocCRC32(FullPath; var CRC32); begin CRC32:=SBSystem.CRC32(FullPath); Result:=''; end; function LocDeleteFile(Filename; var DoesNotExist); Filename: The complete path of the file to delete DoesNotExist: Set to True if the file does not exist, otherwise set to False Return value: An error message if the file exists and cannot be deleted, otherwise an empty string This function is called when the script must delete a file. The entire filename is passed, including the base path. If the file cannot be deleted then an error message should be returned. If the file does not exist then set DoesNotExist to True, but do not return an error message. For example: function LocDeleteFile(FullPath; var DoesNotExist); begin Result:=''; DoesNotExist:=not gFSO.FileExists(FullPath); If Not DoesNotExist Then gFSO.DeleteFile(FullPath, True); end; function LocDirExists(FullPath); FullPath: The complete directory path including the base path Return value: An empty string if the directory exists, otherwise an error message This function is called when the script must check if a directory (folder) exists. The entire directory path will be passed, including the base path. If the directory exists then an empty string should be returned, otherwise return an error message. For example: function LocDirExists(FullPath); begin if (FullPath = '') Then © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 330 Result:='' else if FSO.FolderExists(FullPath) Then Result:='' else Result:='Folder does not exist'; end; See also LocFileExists function LocDisconnect; Return value: An error message if the disconnect failed This function is called when the location should disconnect from its storage, e.g. when the profile has finished or the user has aborted. If the script does not need to disconnect, or it disconnects without any problem, then it should return an empty string. See also LocConnect function LocFileExists(FullFilename); FullFilename: The complete filename including the base path Return value: An empty string if the file exists, otherwise an error message This function is called when the script must check if a file exists. The entire filename will be passed, including the base path. If the file exists then an empty string should be returned, otherwise return an error message. For example: function LocFileExists(FullPath); begin if (FullPath = '') then Result:='File does not exist' else if FSO.FileExists(FullPath) then Result:='' else Result:='File does not exist'; end; See also DirExists function LocFreeSpace; Return value: The free space in bytes, else -1 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 331 SyncBackPro Help This function is called when the location should return how much free space (in bytes) the storage location has. If it's not relevant or practical then return -1. Take note of the 32-bit integer limit in VBScript, so return the value as a string when using VBScript, e.g. LocFreeSpace = CStr(CCur(3221225472)) function LocGet(fromFName, toFName); fromFName: The complete filename of the file to retrieve from the scripts storage location toFName: Where script should store the file on the local filesystem Return value: If the file cannot be retrieved and stored then return an error message This function is called when SyncBack needs the location to retrieve one if its files and store it on the filesystem. For example: Function LocGet(fromFName, toFName); var FileObj, Attrs, r; begin If Not gFSO.FileExists(FromName) Then Result:='File does not exist' Else begin // Read-only? If gFSO.FileExists(toFName) Then begin FileObj:=gFSO.GetFile(toFName); Attrs:=FileObj.Attributes; If (Attrs And 1 <> 0) Then FileObj.Attributes:=Attrs - 1; FileObj:=Unassigned; end; // gFSO.CopyFile(FromName, toFName, True); r:=CopyFile(FromName, toFName); if (r = 0) then Result:='' else Result:=SysErrorMessage(r); end; end; function LocGetAttributes(Filename; var Attributes); Filename: The complete path of the file or directory © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 332 Attributes: The filesystem attributes of the file or directory Return value: An error message if the attributes cannot be retrieved, otherwise an empty string This function is called when the filesystem attributes for a file or directory need to be retrieved. The entire path of the file or directory to get the attributes of is passed. Note that if it's a directory then it will have a trailing backslash. If the attributes cannot be retrieved then an error message should be returned. For example: function LocGetAttributes(Filename; var Attrs); var FolderObj, FileObj; begin Filename:=ExtractFilename(Filename); If (Filename = '') Then begin // Its a special folder Result:=''; Attrs:=1 + 2 + 4 + 16; Exit; end; If SBSystem.IsFolder(Filename) Then begin // // A folder // If not gFSO.FolderExists(Filename) Then begin Result:='Folder does not exist'; Exit; end; FolderObj:=gFSO.GetFolder(Filename); Attrs:=FolderObj.Attributes; Result:=''; end Else begin // // A file // If not gFSO.FileExists(Filename) Then begin Result:='File does not exist'; Exit; end; FileObj:=gFSO.GetFile(Filename); Attrs:=FileObj.Attributes; Result:='' end; end; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 333 SyncBackPro Help function LocMakeDir(FullPath); FullPath: The complete path of the directory to create Return value: An error message if the directory cannot be created, otherwise an empty string This function is called when the location should create a directory. The entire path of the directory to create is passed. If the directory cannot be created then an error message should be returned. Note that an empty string should be returned if the directory already exists. Do not return an error message. For example: function LocMakeDir(FullPath); begin Result:=''; FullPath:=ExtractFilename(FullPath); If (FullPath = '') Then Exit Else If Not gFSO.FolderExists(FullPath) Then gFSO.CreateFolder(FullPath); end; function LocMD5(Filename; var MD5); Filename: The complete path of the file to get the hash value of MD5: Set this to the MD5 hash value of the file, in string format Return value: An error message if the MD5 cannot be retrieved, otherwise an empty string This function is called when the MD5 hash value of a file is required, e.g. for file integrity verification. The entire filename is passed, including the base path. If the MD5 hash value cannot be retrieved then an error message should be returned. Note that the MD5 hash value should be returned in string format, e.g. E75A6A52 For example: function LocMD5(FullPath; var MD5); begin MD5:=SBSystem.MD5(FullPath); Result:=''; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 334 end; function LocPut(fromFName, toFName, fromAttrs, fromDateTime, fromFileSize, DoSafeCopy; var SafeFName); fromFName: The complete filename of the file to retrieve from the local filesystem toFName: Where script should store the file in its storage location fromAttrs: The filesystem attributes of the file (ignore if < 0) fromDateTime: The last modification date & time of the file (local timezone) (ignore if <=1.0) fromFileSize: The size of the file (in bytes). Note this is a string to avoid the 32-bit integer limit in VBScript. (ignore if < 0) DoSafeCopy: Passed as True if the file should be copied to a temporary file first and not to toFName SafeFName: Set this to the filename used to store the file if DoSafeCopy was passed as True Return value: If the file cannot be stored then return an error message This function is called when SyncBack needs the location to store a file in its storage location. The file to store can be copied from the local filesystem. It is recommended that you use the newer LocPutEx function instead of this function. If DoSafeCopy is True then the file should be copied to a temporary file first and not to the filename specified in toFName. The full path of the safe filename used should be returned in SafeFName. For example: function LocPutEx(fromFName, toFName, fromAttrs, fromDateTime, fromCreateDat var FileObj, Attrs, r; begin DebugOut('---LocPutEx:' + fromFName + '*' + toFName); If Not gFSO.FileExists(fromFName) Then Result:='File does not exist' Else begin // Safe copy? If DoSafeCopy Then begin // Note that we must return a SafeFName that we will understand when // it is passed back to us (we will be asked to move the file) toFName:=ExtractFilename(toFName) + '.$$$'; SafeFName:=toFName + '.$$$'; end Else begin toFName:=ExtractFilename(toFName); SafeFName:=''; end; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 335 SyncBackPro Help // Destination file read-only? If gFSO.FileExists(toFName) Then begin FileObj:=gFSO.GetFile(toFName); Attrs:=FileObj.Attributes; If (Attrs and 1 <> 0) Then FileObj.Attributes:=Attrs - 1; FileObj:=Unassigned; end; // SBSystem.UpdateFileStatus('Copying ' + fromFName + '...') r:=CopyFile(fromFName, toFName); if (r <> 0) then begin Result:=SysErrorMessage(r); Exit; end; If (fromAttrs >= 0) Then begin FileObj:=gFSO.GetFile(toFName); FileObj.Attributes:=fromAttrs; FileObj:=Unassigned; end; If (fromDateTime > 1.0) Then SBSystem.SetLastModDateTime(toFName, fromDateTime); If (fromCreateDateTime > 1.0) Then SBSystem.SetCreateDateTime(toFName, fromCreateDateTime); Result:=''; end; end; function LocPutEx(fromFName, toFName, fromAttrs, fromModDateTime, fromCreateDateTime, fromFileSize, fromNTFSSec, DoSafeCopy; var SafeFName); fromFName: The complete filename of the file to retrieve from the local filesystem toFName: Where script should store the file in its storage location fromAttrs: The filesystem attributes of the file (ignore if < 0) fromModDateTime: The last modification date & time of the file (local timezone) (ignore if <=1.0) fromCreateDateTime: The creation date & time of the file (local timezone) (ignore if <=1.0) fromFileSize: The size of the file (in bytes). Note this is a string to avoid the 32-bit integer limit in VBScript. (ignore if < 0) fromNTFSSec: The NTFS security of the file (string format). (ignore if empty string) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 336 DoSafeCopy: Passed as True if the file should be copied to a temporary file first and not to toFName SafeFName: Set this to the filename used to store the file if DoSafeCopy was passed as True Return value: If the file cannot be stored then return an error message This function is called when SyncBack needs the location to store a file in its storage location. The file to store can be copied from the local filesystem. If DoSafeCopy is True then the file should be copied to a temporary file first and not to the filename specified in toFName. The full path of the safe filename used should be returned in SafeFName. For example: function LocPutEx(fromFName, toFName, fromAttrs, fromDateTime, fromCreateDat var FileObj, Attrs, r; begin If Not gFSO.FileExists(fromFName) Then Result:='File does not exist' Else begin // Safe copy? If DoSafeCopy Then begin // Note that we must return a SafeFName that we will understand when // it is passed back to us (we will be asked to move the file) toFName:=ExtractFilename(toFName) + '.$$$'; SafeFName:=toFName + '.$$$'; end Else begin toFName:=ExtractFilename(toFName); SafeFName:=''; end; // Destination file read-only? If gFSO.FileExists(toFName) Then begin FileObj:=gFSO.GetFile(toFName); Attrs:=FileObj.Attributes; If (Attrs and 1 <> 0) Then FileObj.Attributes:=Attrs - 1; FileObj:=Unassigned; end; // SBSystem.UpdateFileStatus('Copying ' + fromFName + '...') r:=CopyFile(fromFName, toFName); if (r <> 0) then begin Result:=SysErrorMessage(r); Exit; end; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 337 SyncBackPro Help If (fromAttrs >= 0) Then begin FileObj:=gFSO.GetFile(toFName); FileObj.Attributes:=fromAttrs; FileObj:=Unassigned; end; If (fromDateTime > 1.0) Then SBSystem.SetLastModDateTime(toFName, fromDateTime); If (fromCreateDateTime > 1.0) Then SBSystem.SetCreateDateTime(toFName, fromCreateDateTime); Result:=''; end; end; function LocReconnect; Return value: An error message if the script cannot reconnect, otherwise an empty string This function is called to tell the script to reconnect to the storage location. This is called when LocConnected indicates it is not connected, for example. Return an error message if the reconnect failed, e.g. it cannot reconnect because the network is down. function LocRemoveDir(FullPath); FullPath: The complete path of the empty directory to delete Return value: An error message if the directory cannot be deleted, otherwise an empty string This function is called when the location should delete an empty directory. The entire path of the directory to delete is passed. If the directory cannot be deleted then an error message should be returned. Note that an empty string should be returned if the directory does not exist. Do not return an error message. IMPORTANT: Do not delete a directory unless it is empty, i.e. it contains no files and no subdirectories. For example: function LocRemoveDir(FullPath); var Folder; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 338 begin Result:=''; FullPath:=ExtractFilename(FullPath); If FullPath = '' Then Exit; Else If gFSO.FolderExists(FullPath) Then begin Folder:=gFSO.GetFolder(FullPath); If (Folder.Files.Count > 0) Then begin Result:='Directory contains files' Exit; end; If (Folder.SubFolders.Count > 0) Then begin Result:='Directory contains directories' Exit; end; Folder.Delete(TRUE); Folder:=Unassigned; end; end; function LocRenameDir(OldFullPath, NewFullPath); OldFullPath: The existing path NewFullPath: The new path (rename it to this) Return value: An error message if the directory cannot be renamed, otherwise an empty string This function is called when the script must rename a directory. Entire paths are passed, including the base path. If the directory cannot be renamed then return an error message. For example: function LocRenameDir(FromPath, ToPath); var TempFldr; begin If (FromPath = '') Then begin Result:='Root directory cannot be moved' Exit; end Else If (ToPath = '') Then begin Result:='Cannot move to root directory' Exit; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 339 SyncBackPro Help end; If Not gFSO.FolderExists(FromPath) Then begin Result:='Source directory does not exist' Exit; end; If gFSO.FolderExists(ToPath) Then begin If SBSystem.SameFilenames(FromPath, ToPath, TRUE) Then begin Result:='To destination directory already exists' Exit; end; end; // Do not include trailing backslash If SBSystem.IsFolder(FromPath) Then FromPath:=SBSystem.ExcludeTrailingBackslash(FromPath); If SBSystem.IsFolder(ToPath) Then ToPath:=SBSystem.ExcludeTrailingBackslash(ToPath); // Cannot rename just the case, e.g. \abc to \ABC // Must instead do a two-step process If SBSystem.SameFilenames(FromPath, ToPath, FALSE) Then begin TempFldr:=ToPath + '.' + SBSystem.UniqueID; gFSO.MoveFolder(FromPath, TempFldr); gFSO.MoveFolder(TempFldr, ToPath); end Else gFSO.MoveFolder(FromPath, ToPath); Result:=''; end; function LocRenameFile(OldFullFilename, NewFullFilename); OldFullFilename: The existing filename NewFullFilename: The new filename (rename it to this) Return value: An error message if the file cannot be renamed, otherwise an empty string This function is called when the script must rename a file. Entire filenames are passed, including the base path. If the file cannot be renamed then return an error message. For example: function LocRenameFile(FromName, ToName); var FileObj, Attrs; begin If Not gFSO.FileExists(FromName) Then begin © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 340 Result:='Source file does not exist'; Exit; end; // Get file attributes. Rename will give archive attribute. FileObj:=gFSO.GetFile(FromName); Attrs:=FileObj.Attributes; If gFSO.FileExists(ToName) Then begin If SBSystem.SameFilenames(FromName, ToName, TRUE) Then begin Result:='To destination file already exists'; Exit; end; end; gFSO.MoveFile(FromName, ToName); Result:=''; // Set attributes FileObj:=gFSO.GetFile(ToName); FileObj.Attributes:=Attrs; end; function LocScanList(FullPath); FullPath: The complete directory path including the base path Return value: An error message if the directory cannot be scanned, otherwise an empty string This function is called when the script must tell SyncBack what files and sub-directories are in a directory. The entire path of the directory to scan is passed. For each file it must call SBLocation.AddFile, and for each folder it must call SBLocation.AddDir. If the directory cannot be scanned, e.g. access denied or it doesn't exist, then an error message should be returned. For example: function LocScanList(FullPath); var Folder, DiskDrive, DriveLetter, DrivePath, SubFol, FileItem, DrivesEnum, FoldersEnum, FilesEnum; begin Result:=''; if (FullPath = '\') or (FullPath = '') then begin // // Return the list of drives // DrivesEnum:=TEnumVariant.Create(gFSO.Drives); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 341 SyncBackPro Help try while DrivesEnum.ForEach(DiskDrive) do begin If (DiskDrive.IsReady = TRUE) then If not SBLocation.AddDir(DiskDrive.DriveLetter) then Exit; end; finally DrivesEnum.Free; end; end else begin // // Return the list of folders and files // DriveLetter:=Copy(FullPath, 2, 1); if (DriveLetter = '') then Exit; DrivePath:=Copy(FullPath, 3, Length(FullPath) - 2); If (DrivePath = '') then DrivePath:= '\'; // Return a list of sub-folders Folder:=gFSO.GetFolder(DriveLetter + ':' + DrivePath); FoldersEnum:=TEnumVariant.Create(Folder.SubFolders); try while FoldersEnum.ForEach(SubFol) do begin If not SBLocation.AddDirEx2(SubFol.Name, SubFol.Attributes, SubFol.D Exit; end; finally FoldersEnum.Free; end; // Return a list of files FilesEnum:=TEnumVariant.Create(Folder.Files); try while FilesEnum.ForEach(FileItem) do begin If not SBLocation.AddFileEx(FileItem.Name, '', VarToInt64(FileItem.S Exit; end; finally FilesEnum.Free; end; end; end; function LocScanPrepare; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 342 Return value: An error message if the storage location cannot be prepared, otherwise an empty string This function is called to tell the script to prepare the storage location for scanning. It is called after LocConnect. function LocSetAttributes(Filename, Attributes); Filename: The complete path of the file or directory Attributes: The filesystem attributes to set the file or directory to Return value: An error message if the attributes cannot be set, otherwise an empty string This function is called when the filesystem attributes for a file or directory need to be set. The entire path of the file or directory to change the attributes of is passed. Note that if it's a directory then it will have a trailing backslash. If the attributes cannot be changed then an error message should be returned. For example: function LocSetAttributes(Filename, Attrs); var FolderObj, FileObj; begin Filename:=ExtractFilename(Filename); If (Filename = '') Then begin // Its a special folder Result:='Cannot set roots attributes'; Exit; end; If SBSystem.IsFolder(Filename) Then begin // // A folder // If not gFSO.FolderExists(Filename) Then begin Result:='Folder does not exist'; Exit; end; FolderObj:=gFSO.GetFolder(Filename); FolderObj.Attributes:=Attrs; Result:=''; end Else begin // // A file // If not gFSO.FileExists(Filename) Then begin Result:='File does not exist'; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 343 SyncBackPro Help Exit; end; FileObj:=gFSO.GetFile(Filename); FileObj.Attributes:=Attrs; Result:='' end; end; function LocSetCreateDateTime(Filename, CreateDateTime); Filename: The complete path of the file or folder CreateDateTime: The creation date & time (local timezone) Return value: An error message if the date & time cannot be changed, otherwise an empty string This function is called when the creation date & time of a file or folder must be changed. The entire path of the file to change the date & time of is passed. If the creation date & time cannot be changed then an error message should be returned. For example: function LocSetCreateDateTime(FullPath, CreateDateTime); begin Result:=SBSystem.SetCreateDateTime(FullPath, CreateDateTime); end; function LocSetModDateTime(Filename, ModDateTime); Filename: The complete path of the file ModDateTime: The last modication date & time (local timezone) Return value: An error message if the date & time cannot be changed, otherwise an empty string This function is called when the last modification date & time of a file must be changed. The entire path of the file to change the date & time of is passed. If the last modification date & time cannot be changed then an error message should be returned. For example: function LocSetModDateTime(FullPath, ModDateTime); begin Result:=SBSystem.SetLastModDateTime(FullPath, ModDateTime); end; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 344 function LocSHA1(Filename; var SHA1); Filename: The complete path of the file to get the hash value of SHA1: Set this to the SHA1 hash value of the file, in string format Return value: An error message if the SHA1 cannot be retrieved, otherwise an empty string This function is called when the SHA1 hash value of a file is required, e.g. for file integrity verification. The entire filename is passed, including the base path. If the SHA1 hash value cannot be retrieved then an error message should be returned. Note that the SHA1 hash value should be returned in string format, e.g. E75A6A52 For example: function LocSHA1(FullPath; var SHA1); begin SHA1:=SBSystem.SHA1(FullPath); Result:=''; end; function LocSHA256(Filename; var SHA256); Filename: The complete path of the file to get the hash value of SHA256: Set this to the SHA256 hash value of the file, in string format Return value: An error message if the SHA256 cannot be retrieved, otherwise an empty string This function is called when the SHA256 hash value of a file is required, e.g. for file integrity verification. The entire filename is passed, including the base path. If the SHA256 hash value cannot be retrieved then an error message should be returned. Note that the SHA256 hash value should be returned in string format, e.g. E75A6A52 For example: function LocSHA256(FullPath; var SHA256); begin SHA256:=SBSystem.SHA256(FullPath); Result:=''; end; function LocSHA512(Filename; var SHA512); Filename: The complete path of the file to get the hash value of © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 345 SyncBackPro Help SHA512: Set this to the SHA512 hash value of the file, in string format Return value: An error message if the SHA512 cannot be retrieved, otherwise an empty string This function is called when the SHA512 hash value of a file is required, e.g. for file integrity verification. The entire filename is passed, including the base path. If the SHA512 hash value cannot be retrieved then an error message should be returned. Note that the SHA512 hash value should be returned in string format, e.g. E75A6A52 For example: function LocSHA512(FullPath; var SHA512); begin SHA512:=SBSystem.SHA512(FullPath); Result:=''; end; All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.9 Runtime Scripts These are functions that are defined in your Runtime script and are called by SyncBackPro. A runtime script can be used to change what happens when a profile is run. For example, you could stop a profile from being run if certain conditions aren't met, or perform actions when some files are copied, deleted, or renamed. The functions are called by SyncBackPro at the appropriate time. Runtime scripts are used by profiles and have access to the SBRunning, SBSystem, SBVariables, and SBHistory objects. All the example code below is written in using the Pascal scripting language. function RunBeforeCopyFile(ToLeft, Filename; var ToDirCreated; var FromFileLocked; var ToFileLocked; var DoneCopy); ToLeft: True if the left/source file is to be copied from the right/destination Filename: The file to be copied (not including the base path) ToDirCreated: Set to True if a directory was created FromFileLocked: Set to True if the file to be copied is locked ToFileLocked: Set to True if the file to be replaced is locked DoneCopy: Set to True if the file was copied Return value: An error message if the copy failed © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 346 This function is called before a file is to be copied, and before any version is made. On failure the function should return an error message (do not return an error message if the script is not copying files). If a directory was created in order to copy the file then ToDirCreated should be returned as True. If the from file is locked then FromFileLocked should be returned as True (and an error message should be returned). If the to file is locked then ToFileLocked should be returned as True (and an error message should be returned). If the file was copied then DoneCopy should be returned as True. Note that once a script has copied a file then no other scripts will be called to copy the file. This means the order of run-time scripts used in a profile is important. This function is not called if the run is a simulation. IMPORTANT: If the profile is using a file integrity database, and you have a RunBeforeCopyFileEx function, then RunBeforeCopyFileEx will be called instead of RunBeforeCopyFile. See also RunAfterCopyFile function RunBeforeCopyFileEx(ToLeft, Filename; var ToDirCreated; var FromFileLocked; var ToFileLocked; var DoneCopy; var IntegrityHash; var IntegrityType); ToLeft: True if the left/source file is to be copied from the right/destination Filename: The file to be copied (not including the base path) ToDirCreated: Set to True if a directory was created FromFileLocked: Set to True if the file to be copied is locked ToFileLocked: Set to True if the file to be replaced is locked DoneCopy: Set to True if the file was copied IntegrityHash: Set this to a hash value for integrity checking IntegrityType: Set this to the type of hash value (TIntegrityType) Return value: An error message if the copy failed This function is called before a file is to be copied, and before any version is made. On failure the function should return an error message (do not return an error message if the script is not copying files). If a directory was created in order to copy the file then ToDirCreated should be returned as True. If the from file is locked then FromFileLocked should be returned as True (and an error message should be returned). If the to file is locked then ToFileLocked should be returned as True (and an error message should be returned). If the file was copied then DoneCopy should be returned as True. IntegrityHash and IntegrityType are for the file integrity database. If you cannot return a file hash then return an empty string and IntegrityType as EIT_None. Note that once a script has copied a file then no other scripts will be called to copy the file. This means the order of run-time scripts used in a profile is important. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 347 SyncBackPro Help This function is not called if the run is a simulation. IMPORTANT: RunBeforeCopyFileEx is only called if the profile is using a file integrity database, otherwise RunBeforeCopyFile is called instead. See also RunAfterCopyFile function RunBeforeDeleteFile(Left, Filename; var FileLocked; var DoneDelete); Left: True if the left/source file is to be deleted Filename: The file to be deleted (not including the base path) FileLocked: Set to True if the file to be deleted is locked DoneDelete: Set to True if the file was deleted Return value: An error message if the delete failed This function is called before a file is to be deleted (and before a version has been made). On failure the function should return an error message (do not return an error message if the script is not deleting files). If the file is locked then FileLocked should be returned as True (and an error message should be returned). If the file was deleted then DoneDelete should be returned as True. Note that once a script has deleted a file then no other scripts will be called to delete the file. This means the order of run-time scripts used in a profile is important. Obviously a file can only be deleted once. This function is not called if the run is a simulation. See also RunAfterDeleteFile function RunBeforeEmailLog(ProfileResult, Failed, Diffs, NoDiffs); ProfileResult: The result of the profile run Failed: True if the profile run had failures Diffs: True if the profile found differences between the left/source and destination/right and the profile is set to email if there are differences NoDiffs: True if the profile found no differences between the left/source and destination/right and the profile is set to email if there are no differences Return value: Return False to not send the email, else return True This function is called before the log is to be emailed. This gives the script an opportunity to not send the email. Note this subroutine is not called if the profile is not configured to send the log via email. The NoDiffs parameter is optional (to remain compatible with pre-V10 scripts). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 348 IMPORTANT: This function is called in the context of the main user interface thread. function RunBeforeRenameFile(Left, FromFilename, ToFilename; var ToDirCreated; var FileLocked; var DoneRename); Left: True if the left/source file is to be renamed FromFilename: The old name of the file (not including the base path) ToFilename: The new name of the file (not including the base path) ToDirCreated: Set to True if the directory for ToFilename was created FileLocked: Set to True if one of the files is locked so cannot be renamed DoneRename: Set to True if the file was renamed Return value: An error message if the rename failed This function is called before a file is to be renamed. On failure the function shoud return an error message (do not return an error message if the script is not renaming files). If a directory was created in order to rename the file then ToDirCreated should be returned as TRUE. If one of the files is locked then FileLocked should be returned as TRUE (and an error message should be returned). If the file was renamed then DoneRename should be returned as True. Note that once a script has renamed a file then no other scripts will be called to rename the file. This means the order of run-time scripts used in a profile is important. Obviously a file can only be renamed once. This function is not called if the run is a simulation. See also RunAfterRenameFile function RunBeforeSetAttrs(Left, Filename, useAttrs; var DoneSet); Left: True if the left/source files attributes are to be changed Filename: The name of the file (not including the base path) useDateTime: The attributes to use DoneSet: Set to True if the files attributes were changed Return value: An error message on failure This function is called when a files filesystem attributes are going to be changed. On error return an error message (do not return an error message if the script is not changing the files attributes). If the files attributes were changed then DoneSet should be returned as True. It is called only when the action is CACTION_USE_SRC_DETAILS or CACTION_USE_DEST_DETAILS, and is not called when a file is copied and its attributes are to be changed, for example. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 349 SyncBackPro Help Note that once a script has set a files attributes then no other scripts will be called to set the files attributes. This means the order of run-time scripts used in a profile is important. This function is not called if the run is a simulation. See also RunAfterSetAttrs function RunBeforeSetDateTimes(Left, Filename, ModDateTime, CreateDateTime; var DoneModSet; var DoneCreateSet); Left: True if the left/source files date & time is to be changed Filename: The name of the file (not including the base path) ModDateTime: The modification date & time to change it to (local timezone). Ignore if <= 1.0. CreateDateTime: The creation date & time to change it to (local timezone). Ignore if <= 1.0. DoneModSet: Set to True if the files modification date & times was changed DoneCreateSet: Set to True if the files creation date & times was changed Return value: An error message on failure This function is called when a files last modification date & time and/or creation date & time is going to be set. On error return an error message (do not return an error message if the script is not setting the files date & time). If the files modification date & time was changed then DoneModSet should be returned as True. If the files creation date & time was changed then DoneCreateSet should be returned as True. It is called only when the action is CACTION_USE_SRC_DETAILS or CACTION_USE_DEST_DETAILS, and is not called when a file is copied and its date & time is changed, for example. Note that once a script has set a files date & time then no other scripts will be called to set the files date & time. This means the order of run-time scripts used in a profile is important. This function is not called if the run is a simulation. See also RunAfterSetDateTimes function RunBeforeSetModDateTime(Left, Filename, useDateTime; var DoneSet); Left: True if the left/source files date & time is to be changed Filename: The name of the file (not including the base path) useDateTime: The date & time to change it to (local timezone) DoneSet: Set to True if the files date & time was changed Return value: An error message on failure © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 350 Note that this is a legacy function. You should now use RunBeforeSetDateTimes This function is called when a files last modification date & time is going to be set. On error return an error message (do not return an error message if the script is not setting the files date & time). If the files date & time was changed then DoneSet should be returned as True. It is called only when the action is CACTION_USE_SRC_DETAILS or CACTION_USE_DEST_DETAILS, and is not called when a file is copied and its date & time is changed, for example. Note that once a script has set a files date & time then no other scripts will be called to set the files date & time. This means the order of run-time scripts used in a profile is important. This function is not called if the run is a simulation. See also RunAfterSetModDateTime function RunDeleteAll(Left, WillDeleteAll); Left: True if the check is for the Left/Source WillDeleteAll: True if the profile is currently set to delete all Return value: Return False to not delete all, else True to delete all This function is called before any attempt is made to delete all the files and folders in either the source/left or destination/right. function RunDiffColumnHint(Col, IsFile, Filename); Col: The column number IsFile: True if Filename refers to a file, else it's a folder Filename: The name of the file/folder (not including the base path) Return value: The hint string to display This subroutine is called from the Differences window when a custom column hint is required. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. function RunDiffColumnHint(Col, IsFile, Filename); begin Result:=Filename; end; function RunDiffColumnsCount; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 351 SyncBackPro Help Return value: The number of custom columns, or zero if none are required This function is called from the Differences window to ask the script how many custom columns it wants created in the Differences window. Note that this value is cached so the function is only called once (when the Differences window appears). fnction RunDiffColumnsCount; begin Result:=2; end; function RunDiffColumnSort(Col, IsFile1, IsFile2, Filename1, Filename2); Col: The column the display is being sorted on IsFile1: True if Filename1 is a file, otherwise it's a folder IsFile2: True if Filename2 is a file, otherwise it's a folder Filename1: The name of a file/folder Filename2: The name of a file/folder Return value: An integer (<0 if file 1 should go before file 2, 0=same filename, > 0 if file 1 should go after file 2) This function is called from the Differences window when a custom column is being sorted. The first custom column is column zero. The script is only called for its custom columns and not for columns created by other scripts. Note that sorting can be extremely slow if there are hundreds of thousands of items to sort. See also RunDiffColumnsCount function RunDiffColumnText(Col, IsFile, Filename); Col: The column number IsFile: True if Filename refers to a file, else it's a folder Filename: The name of the file/folder (not including the base path) Return value: The columns text This subroutine is called from the Differences window when text for a custom column is required. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. function RunDiffColumnText(Col, IsFile, Filename); begin If (Col = 0) Then Result:='Custom Column 1: ' + Filename Else © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 352 Result:='Custom Column 2: ' + Filename; end; See also RunDiffColumnsCount function RunDiffColumnTitle(Col; var Width); Col: The column number Width: Set it to the width the column should be (in pixels) Return value: The columns title This subroutine is called from the Differences window when the title for a custom column is required. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. function RunDiffColumnTitle(Col, Width); begin if (Col = 0) then begin Result:='Custom Column 1'; Width:=100; end else begin Result:='Custom Column 2'; Width:=150; end; end; function RunDisabledCheck(var NoLog); NoLog: Set this to TRUE if a log should not be created Return value: A reason why the script should not continue running This function is called very early on in the profile run and gives the script a chance to stop the profile from running. If the script does not want the profile to run it should return the reason, otherwise it should return an empty string if the profile should continue. To stop a log file from being produced then set NoLog to True. For example, you may expect certain conditions, e.g. the network being unavailable, and so do not want a log file to be produced. function RunDisabledCheck(var NoLog); begin NoLog:=FALSE; if SBRunning.Restore Then Result:='You cannot restore your files' © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 353 SyncBackPro Help else Result:=''; end; function RunEmailLogAttachFilename(Cnt); Cnt: On the first call this is zero, and then incremented on each call Return value: The filename of the file to attach. The file must exist and be readable. This function is called when the log file is about to be emailed. It gives the script an opportunity to add custom file attachments to the email. Note that RunEmailLogAttachToAdd is called first, and then RunEmailLogAttachFilename() is called the appropriate number of times. IMPORTANT: This function is called in the context of the main user interface thread. See RunEmailLogAttachToAdd for an example. function RunEmailLogAttachToAdd; Return value: The number of files to attach This function is called when the log file is about to be emailed. It gives the script an opportunity to add custom file attachments to the email. Note that RunEmailLogAttachToAdd is called first, and then RunEmailLogAttachFilename is called the appropriate number of times. IMPORTANT: This function is called in the context of the main user interface thread. function RunEmailLogAttachToAdd; begin Result:=2; end; function RunEmailLogAttachFilename(Cnt); begin If (Cnt = 0) Then Result:='c:\path\filename1.txt' Else Result:='c:\path\filename2.txt'; end; function RunLogLocationInfoCaption(Left, Cnt); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 354 Left: True is this call is for information on the left/source Cnt: On the first call this is zero, and then incremented on each call Return value: The caption string to use This function is called when the log file is being created. It gives the script an opportunity to add custom information to the log file about the left/source and/or right/destination locations. Note that RunLogLocationInfoToAdd is called first, and then RunLogLocationInfoCaption() is called the appropriate number of times. See RunLogLocationInfoToAdd for an example. function RunLogLocationInfoInfo(Left, Cnt); Left: True is this call is for information on the left/source Cnt: On the first call this is zero, and then incremented on each call Return value: The information string to use This function is called when the log file is being created. It gives the script an opportunity to add custom information to the log file about the left/source and/or right/destination locations. Note that RunLogLocationInfoToAdd is called first, and then RunLogLocationInfoInfo is called the appropriate number of times. See RunLogLocationInfoToAdd for an example. function RunLogLocationInfoToAdd(Left); Left: True if this call is for information on the left/source Return value: The number of caption/info calls to make This function is called when the log file is being created. It gives the script an opportunity to add custom information to the log file about the left/source and/or right/destination locations. Note that RunLogLocationInfoToAdd is called first, and then RunLogLocationInfoInfo is called the appropriate number of times. function RunLogLocationInfoToAdd(Left); begin if Left then Result:=2 else Result:=0; © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 355 SyncBackPro Help end; function RunLogLocationInfoCaption(Left, Cnt); begin if Left then begin if (Cnt = 0) then Result:='Caption 1' else Result:='Caption 2'; end else Resul:=''; end; function RunLogLocationInfoInfo(Left, Cnt); begin if Left then begin if (Cnt = 0) then Resul:='Info 1' else Resul:='Info 2'; end else Resul:=''; end; function RunPreCopyCheck; Return value: A reason why the script should not continue running This function is called after the files and folders have been compared, and after the Differences window is displayed (if it is to be displayed). It is called before any files are copied, moved, deleted, or renamed, and gives the script a chance to abort the profile, e.g. the script may decide there is not enough free space to copy everything and so abort. If the script does not want the profile to run it should return the reason, otherwise it should return an empty string if the profile should continue. function RunPreCopyCheck; begin if NotEnoughDiskSpace Then Result:='There is not enough disk space' else Result:=''; end; function RunRunAfterBefore(Filename); Filename: The full filename and command line parameters of program to be called in Run After © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 356 Return value: The filename and command line parameters of program to be called in Run After This function is called before the Run After program is called. It is passed the full and expanded filename (and any command line arguments) that are going to be used, which could be an empty string. This function can decide not to run the program (by returning an empty string) or it could change the string to have a different program be called. If it wants the same program to be called it should return what was passed in Filename. See also RunRunAfterAfter and RunRunBeforeBefore function RunRunBeforeBefore(Filename); Filename: The full filename and command line parameters of program to be called in Run Before Return value: The filename and command line parameters of program to be called in Run Before This function is called before the Run Before program is called. It is passed the full and expanded filename (and any command line arguments) that are going to be used, which could be an empty string. This function can decide not to run the program (by returning an empty string) or it could change the string to have a different program be called. If it wants the same program to be called it should return what was passed in Filename. See also RunRunBeforeAfter and RunRunAfterBefore function RunShowDiffWindow(WillShow); WillShow: Is the Differences window going to be displayed? Return value: True if the Differences window should be displayed Should the Differences window be displayed? Note that this function is not called if the profile run is unattended. In such cases the Differences window is never displayed. procedure InitialiseVars(Checking); Checking: Passed as True if the variables are being checked to see if they exist This subroutine is called when the variables are initialised. Checking is passed as FALSE. Note that you need to be careful as many things haven't been initialised or created when this is called, e.g. no locations. It is called very early during the profile run (it is called just after RunDisabledCheck is called). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 357 SyncBackPro Help If you are setting variables then it is recommended you also make your script a Configuration script. This is so the users can see which variables the script sets, and also they can use the variables, e.g. in the source or destination paths. In the example below the variable MyScriptVar is set to a dummy value if it's a call to check if the variable is valid. // // Called very early when a profile is run (Checking is False) // Also called in profile config when asking what variables the script sets // procedure InitialiseVars(Checking); begin if Checking then begin // Profile is being saved SBVariables.SetVar('MyScriptVar', '?'); end else begin // Profile is being run // Do nothing end; end; procedure RunAfterConfig; This function is called very early on in the profile run and gives the script a chance to do any early initialisation work. It is called before any attempt is made to connect to the left/source or destination/right. It is called after RunBeforeConfig and at this point the left/source folder is known, for example. procedure RunAfterCopyFile(ToLeft, Filename, Failed); ToLeft: True if the file was copied from the right/destination Filename: The name of the file (not including the base path) Failed: True if the copy failed This function is called after a file has been copied. If Failed is True then either the copy failed or the user has aborted. Note that Failed being False does not necessarily mean the file was actually copied, i.e. it does not guarantee a file was created because the location may not actually copy the file, e.g. it may actually simply send it to a printer. What a script location does when it copies a file is beyond SyncBack's control. This function is not called if the run is a simulation. See also RunBeforeCopyFileEx and RunBeforeCopyFile procedure RunAfterDeleteFile(Left, Filename, Failed); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 358 Left: True if the left/source file was deleted Filename: The name of the file (not including the base path) Failed: True if the delete failed This function is called after a file has been deleted. If Failed is True then either the delete failed or the user has aborted. Note that Failed being False does not necessarily mean the file was actually deleted, e.g. it may not have existed. This function is not called if the run is a simulation. See also RunBeforeDeleteFile procedure RunAfterEmailLog(ErrMsg); ErrMsg: An error message (if the log could not be sent via email) This subroutine is called after the log is emailed. If there was a problem sending the email then ErrMsg contains an error message. Note this subroutine is not called if the profile is not configured to send the log via email. IMPORTANT: This function is called in the context of the main user interface thread. procedure RunAfterFileCompare(Filename, Diff, WhyIgnored; var Action); Filename: The name of the file (not including the base path) Diff: The differences between the files WhyIgnored: The reason why the file is being ignored (if it is) Action: The action that has been decided upon based on the profiles settings This function is called after a file is compared. The script can change the Action to something else, or leave it as-is. Note that it is not called for files that are considered identical. Also, the action can only be changed to a valid action. For example, you cannot use CACTION_DELBOTH unless the file is in the source and destination. See also RunBeforeFileCompare procedure RunAfterFolderCompare(Filename; var Action); Filename: The name of the folder (not including the base path) Action: The action that has been decided upon based on the profiles settings This function is called after a folder (directory) is compared. The script can change the Action to something else, or leave it as-is. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 359 SyncBackPro Help See also RunBeforeFolderCompare procedure RunAfterRenameFile(Left, FromFilename, ToFilename, Failed); Left: True if the left/source file was renamed FromFilename: The old name of the file (not including the base path) ToFilename: The new name of the file (not including the base path) Failed: True if the rename failed This function is called after a file has been renamed. If Failed is True then either the rename failed or the user has aborted. Note that Failed being False does not necessarily mean the file was actually renamed, i.e. it does not guarantee a file was renamed because the location may not actually rename the file. What a script location does when it renames a file is beyond SyncBack's control. This function is not called if the run is a simulation. See also RunBeforeRenameFile procedure RunAfterSetAttrs(Left, Filename, useAttrs, Failed); Left: True if the left/source files attributes were changed Filename: The name of the file (not including the base path) useAttrs: The attributes that were used Failed: True if the change failed This function is called after a files filesystem attributes have been changed. It is called only when the action was CACTION_USE_SRC_DETAILS or CACTION_USE_DEST_DETAILS, and is not called when a file is copied and its attributes are changed, for example. If Failed is True then either the change failed or the user has aborted. Note that Failed being False does not necessarily mean the files attributes were actually changed. This function is not called if the run is a simulation. See also RunBeforeSetAttrs procedure RunAfterSetDateTimes(Left, Filename, ModDateTime, CreateDateTime, Failed); Left: True if the left/source files date & time was changed Filename: The name of the file (not including the base path) ModDateTime: The last modification date & time it was changed to (local timezone). Ignore if <= 1.0. CreateDateTime: The creation date & time it was changed to (local timezone). Ignore if <= 1.0. Failed: True if the change failed © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 360 This function is called after a files last modification date & time and/or creation date & time has been changed. It is called only when the action was CACTION_USE_SRC_DETAILS or CACTION_USE_DEST_DETAILS, and is not called when a file is copied and its date & time is changed, for example. If Failed is True then either the change failed or the user has aborted. Note that Failed being False does not necessarily mean the date & time of the file was actually changed. This function is not called if the run is a simulation. See also RunBeforeSetDateTimes procedure RunAfterSetModDateTime(Left, Filename, useDateTime, Failed); Left: True if the left/source files date & time was changed Filename: The name of the file (not including the base path) useDateTime: The date & time it was changed to (local timezone) Failed: True if the change failed Note that this is a legacy function. You should now use RunAfterSetDateTimes This function is called after a files last modification date & time has been changed. It is called only when the action was CACTION_USE_SRC_DETAILS or CACTION_USE_DEST_DETAILS, and is not called when a file is copied and its date & time is changed, for example. If Failed is True then either the change failed or the user has aborted. Note that Failed being False does not necessarily mean the date & time of the file was actually changed. This function is not called if the run is a simulation. See also RunBeforeSetModDateTime procedure RunBeforeConfig; This function is called very early on in the profile run and gives the script a chance to do any early initialisation work. It is called before any attempt is made to connect to the left/source or destination/right. It is called after RunDisabledCheck and before the profile is prepared. Note that very little is initialised at this point, e.g. there is no left/source folder. See also RunAfterConfig procedure RunBeforeFileCompare(Filename; var Skip); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 361 SyncBackPro Help Filename: The filename of the file (not including the base path) Skip: Set to True to ignore/skip the file This subroutine is called before a file is compared for differences. Note that the hash values will be probably empty except for: Fast Backup profiles which may have the destination hash value, and when using compression as the hash value is retrieved from the Zip file. procedure RunBeforeFolderCompare(Filename; var Skip); Filename: The name of the folder (not including the base path) Skip: Set to True to skip this folder This function is called before a folder (directory) is compared. It gives the script an opportunity to skip a folder (it's action will be set to CACTION_SKIP) See also RunAfterFolderCompare procedure RunBeforeScanning; This function is called just before scanning of the files and folders is about to start. procedure RunDiffClosed; Aborted: True if the user decided to abort the profile This subroutine is called from the Differences window when it is closed. The routine is called before the tree is cleared. It is called even if the user aborted or the tree was empty. See also RunDiffOpened procedure RunDiffColumnClicked(Col, IsFile, Filename); Col: The column number IsFile: True if Filename refers to a file, else it's a folder Filename: The name of the file/folder (not including the base path) This subroutine is called from the Differences window when a custom column is clicked. The first custom column is column zero (0). The script is only called for its custom columns and not for columns created by other scripts. See also RunDiffKeyPress procedure RunDiffFocusChanged(IsFile, Filename); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 362 IsFile: True if Filename refers to a file, else it's a folder Filename: The name of the file/folder (not including the base path) This subroutine is called from the Differences window when the focused node changes. procedure RunDiffKeyPress(Key, Shift, IsFile, Filename); Key: The key that as pressed Shift: The shift state IsFile: True if Filename refers to a file, else it's a folder Filename: The name of the file/folder (not including the base path) This subroutine is called from the Differences window when a key is pressed. It is called for each selected row. It is not called if the Delete key is pressed (as that is handled by SyncBack itself). The Key value refers to the virtual key codes. The Shift state can be a selection of the following values: 0 = No shift state ssShift = Shift key is pressed ssAlt = Alt key is pressed ssCtrl = Ctrl key is pressed ssLeft = Left mouse button is pressed ssRight = Right mouse button is pressed ssMiddle = Middle mouse button is pressed ssDouble = Mouse double-clicked ssTouch = Holding a finger on the touch surface ssPen = Pen is touching the surface of a tablet ssCommand = CMD key is held down (only on Mac) ssHorizontal = User is moving a finger horizontally on the touch surface or is rolling the mouse wheel to produce a horizontal displacement See also RunDiffColumnClicked // This example says the filename if S is pressed procedure RunDiffKeyPress(Key, ShiftState, IsFile, Filename); begin If (Key = 83) Then SBSystem.Say(Filename); end; procedure RunDiffOpened; This subroutine is called from the Differences window when it is opened and displayed. The routine is called after the tree has been loaded and sorted. Note that if the user aborts the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 363 SyncBackPro Help loading of the Differences window, or the tree is empty and the profile is configured to close the Differences window automatically if empty, then this routine is not called. See also RunDiffClosed procedure RunDoFullBackup(LeftDir, RightDir; var FullBackup); LeftDir: The base directory of the left/source RightDir: The base directory of the right/destination FullBackup: True if this is a full backup run. Change as required. This function is called when a decision must be made on whether the profile run should be a full backup or an incremental/differential backup. Note that once a script has decided on wheter it is a full backup or not then no other scripts will be called to decide. This means the order of run-time scripts used in a profile is important. See also FullBackup procedure RunFileCompareDiff(Filename, Diff, WhyIgnored; var Skip); Filename: The filename of the file (not including the base path) Diff: The differences between the files WhyIgnored: The reason why the file is being ignored (if it is) Skip: Set to True to ignore/skip the file This subroutine is called after a file has been compared for differences and the left/source and right/destination files are different. procedure RunFileCompareSame(Filename; var Diff); Filename: The filename of the file (not including the base path) Diff: Set to the difference between the files, or CDIFF_IDENTICAL This subroutine is called after a file has been compared for differences and the left/source and right/destination files are found to be identical. procedure RunProfileResult(ProfileResult, ErrMsg); ProfileResult: The result of the profile run ErrMsg: If a fatal error occurred, this is the error message This function is called when the result of the profile run is known and has been saved. It is usually done before the profile finishes. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 364 procedure RunProfileResult(ProfileResult, ErrMsg); begin SBRunning.DebugOut(ProfileResult, ErrMsg, 1); end; procedure RunRunAfterAfter(Filename, ReturnValue, ReturnErrMsg, TimedOut); Filename: The full filename and command line parameters of program called in Run After ReturnValue: The numeric return value of the program ReturnErrMsg: If the program could not be run then this is the error message TimedOut: If the program timed out then this is TRUE This function is called after the Run After program has been called. It is passed the full and expanded filename (and any command line arguments) that were used. If there was a problem running the program then ReturnErrMsg will contain an error message. RetVal will contain the numeric return value from the program, but note that this value should be ignored if the program failed to run, if TimedOut is TRUE, or if the profile was not configured to wait for the program to finish. TimedOut is TRUE if the program took too long to run. See also RunRunBeforeAfter and RunRunAfterBefore procedure RunRunBeforeAfter(Filename, ReturnValue, ReturnErrMsg, TimedOut); Filename: The full filename and command line parameters of program called in Run Before ReturnValue: The numeric return value of the program ReturnErrMsg: If the program could not be run then this is the error message TimedOut: If the program timed out then this is TRUE This function is called after the Run Before program has been called. It is passed the full and expanded filename (and any command line arguments) that were used. If there was a problem running the program then ReturnErrMsg will contain an error message. RetVal will contain the numeric return value from the program, but note that this value should be ignored if the program failed to run, if TimedOut is TRUE, or if the profile was not configured to wait for the program to finish. TimedOut is TRUE if the program took too long to run. See also RunRunBeforeBefore and RunRunAfterAfter All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 365 SyncBackPro Help 3.5.1.10 SBLocation These are functions that can be accessed from scripts via the SBLocation object. For example: SBLocation.BaseDir The SBLocation object is only accessible from Location scripts. All the example code below is written in using the Pascal scripting language. function AddDir(Name); Name: The name of the directory, without the path Return value: Return FALSE if the script wants to abort the scan This function should be called by the Script inside the LocScanList whenever a new directory (folder) is found, i.e. the script must call this function for every directory in the directory being scanned. It is recommended that you use the newer AddDirEx2 function instead of this function. Name: The name should not include the path. It is just the name of the directory. It must be a unique name for that folder, i.e. two sub-directories in the same directory cannot have the same name. Note that you do not need to pass the special folders . or .. function AddDirEx(Name, Attrs); Name: The name of the directory, without the path Attrs: The directories attributes Return value: Return FALSE if the script wants to abort the scan This function should be called by the Script inside the LocScanList whenever a new directory (folder) is found, i.e. the script must call this function for every directory in the directory being scanned. It is recommended that you use the newer AddDirEx2 function instead of this function. Attrs: The filesystem attributes of the directory. If the attributes are unknown then pass -1. Note that these must be standard Windows filesystem attributes. Name: The name should not include the path. It is just the name of the directory. It must be a unique name for that folder, i.e. two sub-directories in the same directory cannot have the same name. Note that you do not need to pass the special folders . or .. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 366 function AddDirEx2(Name, Attrs, ModDateTime, CreateDateTime, NTFSSec); Name: The name of the directory, without the path Attrs: The directories attributes ModDateTime: The last modification date & time of the directory, or 1.0 if unknown CreateDateTime: The creation date & time of the directory, or 1.0 if unknown NTFSSec: The NTFS security of the directory, or empty string if unknown Return value: Return FALSE if the script wants to abort the scan This function should be called by the Script inside the LocScanList whenever a new directory (folder) is found, i.e. the script must call this function for every directory in the directory being scanned. Name: The name should not include the path. It is just the name of the directory. It must be a unique name for that folder, i.e. two sub-directories in the same directory cannot have the same name. Note that you do not need to pass the special folders . or .. Attrs: The filesystem attributes of the directory. If the attributes are unknown then pass -1. Note that these must be standard Windows filesystem attributes. ModDateTime: The last modification date & time of the directory (in the local timezone). If the last modification date & time is unknown then pass 1.0. CreateDateTime: The creation date & time of the directory (in the local timezone). If the creation date & time is unknown then pass 1.0. NTFSSec: The NTFS security for the directory in string format. See the Win32 API function ConvertSecurityDescriptorToStringSecurityDescriptor. If the NTFS security is unknown or not applicable pass an empty string. function AddFile(Name, CRC32, FileSize, Attrs, ModDateTime); Name: The name of the file, without the path CRC32: The CRC32 hash value of the file, or empty string if unknown FileSize: The size of the file, in bytes, or -1 if unknown Attrs: The filesystem attributes of the file, or -1 if unknown ModDateTime: The last modification date & time of the file, or 1.0 if unknown Return value: Return FALSE if the script wants to abort the scan This function should be called by the Script inside the LocScanList function whenever a new file is found, i.e. the script must call this function for every file in the folder being scanned. It is recommended that you use the newer AddFileEx function instead of this function. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 367 SyncBackPro Help Name: The name should not include the path. It is just the name of the file. It must be a unique name for that folder, i.e. two files in the same folder cannot have the same name. CRC32: Do not waste time calculating the CRC32 hash value. Only provide it if it is already known, e.g. it's a Zip file so you can get the hash value quickly, otherwise pass an empty string. FileSize: The size of the file, in bytes. If the size is unknown then pass -1. If IsIgnoringSize is returning True, and retrieving the file size would incur more processing time, then you can pass -1. Note that this parameter is a string to avoid the 32-bit limit on integers used by VBScript. If you are using VBScript, then convert the number to a currency and then to a string, e.g. CFileSize = CStr(CCur(FileItem.Size)) Attrs: The filesystem attributes of the file. If the attributes are unknown then pass -1. Note that these must be standard Windows filesystem attributes. ModDateTime: The last modification date & time of the file (in the local timezone). If the last modification date & time is unknown then pass 1.0. Also, if IsIgnoringDateTime is returning True, and retrieving the date & time would incur more processing time, then you can pass 1.0 function AddFileEx(Name, CRC32, FileSize, Attrs, ModDateTime, CreateDateTime, NTFSSec); Name: The name of the file, without the path CRC32: The CRC32 hash value of the file, or empty string if unknown FileSize: The size of the file, in bytes, or -1 if unknown Attrs: The filesystem attributes of the file, or -1 if unknown ModDateTime: The last modification date & time of the file, or 1.0 if unknown CreateDateTime: The creation date & time of the file, or 1.0 if unknown NTFSSec: The NTFS security of the file, or empty string if unknown Return value: Return FALSE if the script wants to abort the scan This function should be called by the Script inside the LocScanList function whenever a new file is found, i.e. the script must call this function for every file in the folder being scanned. Name: The name should not include the path. It is just the name of the file. It must be a unique name for that folder, i.e. two files in the same folder cannot have the same name. CRC32: Do not waste time calculating the CRC32 hash value. Only provide it if it is already known, e.g. it's a Zip file so you can get the hash value quickly, otherwise pass an empty string. FileSize: The size of the file, in bytes. If the size is unknown then pass -1. If IsIgnoringSize is returning True, and retrieving the file size would incur more processing time, then you can pass -1. Note that this parameter is a string to avoid the 32-bit limit on integers used by VBScript. If you are using VBScript, then convert the number to a currency and then to a string, e.g. CFileSize = CStr(CCur(FileItem.Size)) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 368 Attrs: The filesystem attributes of the file. If the attributes are unknown then pass -1. Note that these must be standard Windows filesystem attributes. ModDateTime: The last modification date & time of the file (in the local timezone). If the last modification date & time is unknown then pass 1.0. Also, if IsIgnoringDateTime is returning True, and retrieving the date & time would incur more processing time, then you can pass 1.0 CreateDateTime: The creation date & time of the file (in the local timezone). If the creation date & time is unknown then pass 1.0. NTFSSec: The NTFS security for the file in string format. See the Win32 API function ConvertSecurityDescriptorToStringSecurityDescriptor. If the NTFS security is unknown or not applicable pass an empty string. Property Abort Returns TRUE if the profile is being aborted. Set it to TRUE to abort the profile. Note that the abort may not be immediate, and an abort cannot be aborted (i.e. once True you cannot change it to False). Property BaseDir Returns the base directory of the location. This is a read-only property. Property IsIgnoringDateTime Returns True if this location can ignore file last modification date & times. Note that this should only be used in the LocScanList script function otherwise the return value is always False. This can be used to optimize the location, e.g. if it takes time to get a files last modification date & time, and IsIgnoringDateTime is returning True, then the script should not waste time trying to retrieve it (in the LocScanList script function). This is a read-only property. Property IsIgnoringSize Returns True if this location can ignore file sizes. Note that this should only be used in the LocScanList script function otherwise the return value is always False. This can be used to optimize the location, e.g. if it takes time to get a files size, and IsIgnoringSize is returning True, then the script should not waste time trying to retrieve it (in the LocScanList script function). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 369 SyncBackPro Help This is a read-only property. Property IsLeft Returns True if this location is the left/source location, otherwise it is the right/destination location. This is a read-only property. Property VersionsType Returns an integer value that states what is being done with versions folders: EVTAsNormal = They are being treated as any other directory (usually because neither location if using versioning) EVTSkip = Versions directories and being skipped and assumed not to exist (usually because this location doesn't use versioning, but the other one does) EVTCollectSub = File versions are being read from the versions directories, i.e. the location uses versioning EVTCollectRoot = File versions are being read from a sub-folder of the base folder Note that this information is for reference only as SyncBack will manage all aspects of versioning for the script. This is a read-only property. Property VersionSubDir Returns the name of the versions sub-folder, e.g. $SBV$. Note that this information is for reference only as SyncBack will manage all aspects of versioning for the script. This is a read-only property. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.11 SBProfile These are functions that can be accessed from scripts via the SBProfile object. For example: SBProfile.Name © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 370 The SBProfile object is only accessible from Profile Configuration scripts. All the example code below is written in using the Pascal scripting language. function GetCheckbox(Tag); Tag: The tag ID of the checkbox control Return value: TRUE if the checkbox is ticked This function returns the state of a checkbox control (created with AddCheckbox). To change the state of a checkbox you can use SetCheckbox. function GetComboBoxIndex(Tag); Tag: The tag ID of the combobox control Return value: The index of the selected item (zero is the first item, -1 if no item is selected) This function returns the index of the currently selected item in a combobox control (created with AddComboBox). Note that if the control can be edited then the index can be -1, e.g. the user has entered their own text instead of selecting an item. In that case you can get the text entered by using GetComboBoxText. To change the state of a checkbox you can use SetComboBoxItem or SetComboBoxText. function GetComboBoxText(Tag); Tag: The tag ID of the combobox control Return value: The text in the combobox control This function returns the text entered into a combobox control (created with AddComboBox). To change the state of a checkbox you can use SetComboBoxItem or SetComboBoxText. function GetEdit(Tag); Tag: The tag ID of the edit control Return value: The text in the edit control This function returns the text in an edit control (created with AddEdit). To change the text in an edit control you can use SetEdit. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 371 SyncBackPro Help function GetRadioGroup(Tag); Tag: The tag ID of the radiogroup control Return value: The index of the selected item (zero is the first item, -1 if no item is selected) This function returns the index of the currently selected item in a radiogroup control (created with AddRadioGroup). To change the state of a checkbox you can use SetRadioGroup. function SetButton(Caption, Tag); Value: The text set the button control to Tag: The tag ID of the button control This sub routine sets the text of a button control (created with AddButton). NOTE: This function is not available when using the old Windows scripting. function SetCheckbox(Value, Tag); Value: Pass TRUE to tick the checkbox Tag: The tag ID of the edit control This sub routine sets the state of a checkbox control (created with AddCheckbox). To get the state of a checkbox control you can use GetCheckbox. function SetComboBoxItem(ItemIndex, Tag); ItemIndex: The item index to use (0 is the first item, -1 means nothing selected) Tag: The tag ID of the combobox control This sub routine sets the selected item index of a combobox control (created with AddComboBox). To get the current index of a checkbox control you can use GetComboBoxIndex. function SetComboBoxText(ItemText, Tag); ItemText: The text to set the combobox control to use Tag: The tag ID of the combobox control This sub routine sets the text of a combobox control (created with AddComboBox). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 372 To get the text of a checkbox control you can use GetComboBoxText. function SetEdit(Value, Tag); Value: The text to put into the edit control Tag: The tag ID of the edit control This sub routine sets the text in an edit control (created with AddEdit). To get the text in an edit control you can use GetEdit. function SetLabel(Caption, Tag); Value: The text set the label control to Tag: The tag ID of the label control This sub routine sets the text of a label control (created with AddLabel). function SetRadioGroup(ItemIndex, Tag); ItemIndex: The item index to use (0 is the first item, -1 means nothing selected) Tag: The tag ID of the radiogroup control This sub routine sets the selected item index of a radiogroup control (created with AddRadioGroup). To get the current index of a radiogroup control you can use GetRadioGroup. procedure AddButton(Caption, Tag); Caption: Pass the caption text to use for the button control Tag: Pass the unique tag ID for this control Adds a button control to the profile setup window. This function should only be called from ConfigSetupDisplay. NOTE: This function is not available when using the old Windows scripting. procedure AddCheckbox(Caption, Tag); Caption: Pass the caption text to use for the control Tag: Pass the unique tag ID for this control © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 373 SyncBackPro Help Adds a checkbox control to the profile setup window. This function should only be called from ConfigSetupDisplay. procedure AddComboBox(ListOnly, Tag); ListOnly: If the combobox text cannot be edited then pass TRUE Tag: Pass the unique tag ID for this control Adds a combobox control to the profile setup window. To add items to the combobox use AddComboBoxItem. This function should only be called from ConfigSetupDisplay. procedure AddComboBoxItem(Value, Tag); Value: The text to add to the combobox Tag: The tag ID of the combobox to add the item to Adds an item to a combobox control. This function should only be called from ConfigSetupDisplay. procedure AddEdit(Caption, MaxLen, NumbersOnly, Password, Tag); Caption: Pass the caption text to use for the edit control MaxLen: The maximum length of text that can be entered into the edit control NumbersOnly: Pass as TRUE if the edit control is for numbers only Password: Pass as TRUE if the edit control is for passwords Tag: Pass the unique tag ID for this control Adds an edit control to the profile setup window. This function should only be called from ConfigSetupDisplay. procedure AddLabel(Caption, Tag); Caption: Pass the caption text to use for the label Tag: Pass the unique tag ID for this label Adds a label to the profile setup window. This function should only be called from ConfigSetupDisplay. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 374 procedure AddRadioGroup(Caption, Tag); Caption: The caption to use for the control Tag: Pass the unique tag ID for this control Adds a radio group control to the profile setup window. To add items to the combobox use AddRadioGroupItem. This function should only be called from ConfigSetupDisplay. procedure AddRadioGroupItem(Caption, Tag); Caption: The caption text to use for the new radio item Tag: The tag ID of the radio group to add the item to Adds an item to a radio group control. This function should only be called from ConfigSetupDisplay. procedure EnableControl(Enable, Tag); Value: Pass TRUE to enable the control, and FALSE to disable it Tag: The tag ID of the control to enabled or disable Enables or disables a control. For example, to disable or enable another control based of a checkbox being checked or not: SBProfile.EnableControl(SBProfile.GetCheckbox(1), 2); Property Group Returns the TRUE if this is a group profile. This property is read-only. Property Name Returns the name of the profile. This property is read-only. Property UsesScript © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 375 SyncBackPro Help Returns the TRUE if this profile is using this script. For example, you may have a script that is both a configuration and run-time script. Although the script may be enabled as a configuration script, the profile that is currently being edited may not be using the profile as a run-time script. This property is read-only. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.12 SBRunning These are functions that can be accessed from scripts via the SBRunning object. For example: SBLocation.Warning('Filename', 'Warning message'); The SBRunning object is only accessible from Runtime scripts. All the example code below is written in using the Pascal scripting language. function FolderHasFiles(Name); Name: The name of the folder (not including the base folder) Return value: Always returns TRUE This function is no longer used and will always return TRUE. function GetCurrentFileVer(Filename, Left); Filename: The filename (not including the base folder) Left: Pass True to get the details of the left/source file Return value: The current file version, or -2 if it isn't set to use a different version This function returns the version of the file that is going to be restored, or -2 if it isn't set to use restore a version. See the function GetFileVerCount to get the number of versions a file has. Note that the filenames do not include the base folder. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 376 function GetFileAction(Filename); Name: The name of the file (not including the base folder) Return value: The action to be performed This function returns the action that will be performed for a particular file. Note that the filename should not include the base folder. If the file does not exist then 0 (CACTION_ERROR) is returned. For folders see GetFolderAction function GetFileAttrs(Filename, Left); Filename: The filename (not including the base folder) Left: If True then return the attributes of the left/source file Return value: The files attributes This function returns a files filesystem attributes. Note that the filename should not include the base folder. If the file does not exist then -2 is returned. If the file has no file attributes, then -1 is returned. To set a files attributes use SetFileAttrs See also GetFileDetailsEx function GetFileCreateDateTime(Filename, Left); Filename: The filename (not including the base folder) Left: If True then return the create date & time of the left/source file Return value: The files creation date & time This function returns the creation date & time of a file (in the local timezone). Note that the filename should not include the base folder. If the file does not exist then 0.9 is returned. If the file has no date & time then 1.0 is returned. To set a files createion date and time use SetFileCreateDateTime See also GetFileDetailsEx function GetFileDateTime(Filename, Left); Filename: The filename (not including the base folder) Left: If True then return the date & time of the left/source file © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 377 SyncBackPro Help Return value: The files last modification date & time This function returns the last modification date & time of a file (in the local timezone). Note that the filename should not include the base folder. If the file does not exist then 0.9 is returned. If the file has no date & time then 1.0 is returned. To set a files modification date and time use SetFileDateTime See also GetFileDetailsEx function GetFileDetails(Filename, Left; var StoredName; var Size; var Attrs; var Hash; var ModDateTime; var Exists); Filename: The filename (not including the base folder) Left: Pass True to get the details of the left/source file StoredName: The stored name of the file (if there is one) Size: The size of the file in bytes (note this is a string) Attr: The filesystem attributes of the file Hash: The CRC32 hash value of the file (as a string) ModDateTime: The last modification date & time of the file (local timezone) Exists: Returned as True if the file exists on either the left/source or right/destination Return value: False if the file does not exist on either the left/source or right/destination This function returns all the details of a file in a single call. It is more efficient to use this function if more than a single piece of information on a file is required. Note that the filename should not include the base folder. It is recommended that you use the newer GetFileDetailsEx function instead of this function. If the file does not exist at all on either the left/source or right/destination then False is returned and Exists is set to False. However, if you request the details of the file on the left/source and the file only exists on the right/destination, for example, then False is returned but Exists is set to True. If Exists is True then the file does exist on the left/source or right/destination (or both). For example: DoesNotExist:=SBRunning.GetFileDetails(Filename, TRUE, StoredName, Size, Att function GetFileDetailsEx(Filename, Left; var StoredName; var Size; var Attrs; var Hash; var ModDateTime; var CreateDateTime; var NTFSSec,; var Exists); Filename: The filename (not including the base folder) Left: Pass True to get the details of the left/source file StoredName: The stored name of the file (if there is one) Size: The size of the file in bytes (note this is a string) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 378 Attr: The filesystem attributes of the file Hash: The CRC32 hash value of the file (as a string) ModDateTime: The last modification date & time of the file (local timezone) CreateDateTime: The creation date & time of the file (local timezone) NTFSSec: The NTFS security of the file (string format) Exists: Returned as True if the file exists on either the left/source or right/destination Return value: False if the file does not exist on either the left/source or right/destination This function returns all the details of a file in a single call. It is more efficient to use this function if more than a single piece of information on a file is required. Note that the filename should not include the base folder. If the file does not exist at all on either the left/source or right/destination then False is returned and Exists is set to False. However, if you request the details of the file on the left/source and the file only exists on the right/destination, for example, then False is returned but Exists is set to True. If Exists is True then the file does exist on the left/source or right/destination (or both). For example: DoesNotExist:=SBRunning.GetFileDetailsEx(Filename, True, StoredName, Size, A function GetFileDiff(Filename); Filename: The filename (not including the base folder) Return value: The difference between the files This function returns the differences between a file in the left/source and/or right/destination. Note that the filename should not include the base folder. If the file does not exist then 0 (CDIFF_IDENTICAL) is returned. For folders see GetFolderDiff function GetFileHash(Filename, Left); Filename: The filename (not including the base folder) Left: If True then return the hash value of the left/source file Return value: The files CRC32 hash value (as a string) This function returns the calculated CRC32 hash value (in string format) of a file. This function does not calculate the hash value, it merely returns the hash value that has already been calculated. Note that the filename should not include the base folder. If the file does not exist, or has no CRC32 hash value, then an empty string is returned. To set a files hash value use SetFileHash © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 379 SyncBackPro Help See also GetFileDetailsEx, MD5, and CRC32 function GetFilename(Row); Row: The row number of the file to retrieve Return value: The filename or an empty string on failure This function returns the name of a file based on its row number. Row numbers start at zero and end at FileCount - 1 (as it is zero based). The filename can be used with functions such as GetFileDetailsEx. function GetFileNTFSSecurity(Filename, Left); Filename: The filename (not including the base folder) Left: If True then return the NTFS security of the left/source file Return value: The files NTFS security (as a string) This function returns the NTFS security (in string format) of a file. Note that the filename should not include the base folder. If the file does not exist, or has no NTFS security, then an empty string is returned. To set a files NTFS security use SetFileNTFSSecurity See also GetFileDetailsEx function GetFileSize(Filename, Left); Filename: The filename (not including the base folder) Left: If True then return the size of the left/source file Return value: The files size in bytes This function returns the size of a file (in bytes). Note that the filename should not include the base folder. If the file does not exist then -2 is returned. If the file size is unknown then -1 is returned. Note that this function returns a string to avoid the 32-bit integer limit in VBScript. To set a files size use SetFileSize See also GetFileDetailsEx function GetFileVerCount(Filename, Left); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 380 Filename: The filename (not including the base folder) Left: Pass True to get the details of the left/source file Return value: The number of versions a file has, or zero if it has no versions This function returns the number of versions a file has, or zero if it has no versions. Note that the result includes delta hash files, which aren't technically versions. See the function GetCurrentFileVer to get the version number which will be restored. Note that the filenames do not include the base folder. function GetFolderAction(Name); Name: The name of the folder (not including the base folder) Return value: The action to be performed This function returns the action that will be performed for a particular folder. Note that the folder name should not include the base folder. If the folder does not exist then 0 (CACTION_ERROR) is returned. For files see GetFileAction function GetFolderAttrs(Filename, Left); Name: The folder (not including the base folder) Left: If True then return the attributes of the left/source folder Return value: The folders attributes This function returns a folders filesystem attributes. Note that the path should not include the base folder. If the folder does not exist then -2 is returned. If the folder has no attributes, then 1 is returned. To set a files attributes use SetFolderAttrs See also GetFolderDetailsEx function GetFolderCreateDateTime(Name, Left); Name: The folder (not including the base folder) Left: If True then return the create date & time of the left/source folder Return value: The folders creation date & time © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 381 SyncBackPro Help This function returns the creation date & time of a folder (in the local timezone). Note that the path should not include the base folder. If the folder does not exist then 0.9 is returned. If the folder has no date & time then 1.0 is returned. To set a folders createion date and time use SetFolderCreateDateTime See also GetFolderDetailsEx function GetFolderDateTime(Name, Left); Name: The folder (not including the base folder) Left: If True then return the date & time of the left/source folder Return value: The folders last modification date & time This function returns the last modification date & time of a folder (in the local timezone). Note that the path should not include the base folder. If the folder does not exist then 0.9 is returned. If the folder has no date & time then 1.0 is returned. To set a folders modification date and time use SetFolderDateTime See also GetFolderDetailsEx function GetFolderDetails(Foldername, Left; var StoredName; var Exists); Foldername: The folder name (not including the base folder) Left: Pass True to get the details of the left/source folder StoredName: The stored name of the folder (if there is one) Exists: Returned as True if the folder exists on either the left/source or right/destination Return value: False if the folder does not exist on either the left/source or right/destination This function returns all the details of a folder in a single call. It is more efficient to use this function if more than a single piece of information on a folder is required. Note that the folder name should not include the base folder. It is recommended that you use the newer GetFolderDetailsEx function instead of this function. If the folder does not exist at all on either the left/source or right/destination then False is returned and Exists is set to False. However, if you request the details of the folder on the left/source and the folder only exists on the right/destination, for example, then False is returned but Exists is set to True. If Exists is True then the folder does exist on the left/source or right/destination (or both). For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 382 DoesNotExist:=SBRunning.GetFolderDetails(Foldername, True, StoredName, Exist function GetFolderDetailsEx(Foldername, Left; var StoredName; var Exists); Foldername: The folder name (not including the base folder) Left: Pass True to get the details of the left/source folder StoredName: The stored name of the folder (if there is one) Attr: The filesystem attributes of the folder ModDateTime: The last modification date & time of the folder (local timezone) CreateDateTime: The creation date & time of the folder (local timezone) NTFSSec: The NTFS security of the folder (string format) Exists: Returned as True if the folder exists on either the left/source or right/destination Return value: False if the folder does not exist on either the left/source or right/destination This function returns all the details of a folder in a single call. It is more efficient to use this function if more than a single piece of information on a folder is required. Note that the folder name should not include the base folder. If the folder does not exist at all on either the left/source or right/destination then False is returned and Exists is set to False. However, if you request the details of the folder on the left/source and the folder only exists on the right/destination, for example, then False is returned but Exists is set to True. If Exists is True then the folder does exist on the left/source or right/destination (or both). For example: DoesNotExist:=SBRunning.GetFolderDetailsEx(Foldername, True, StoredName, Att function GetFolderDiff(Name); Name: The name of the folder (not including the base folder) Return value: The difference between the folders This function returns the differences between a folder in the left/source and/or right/destination. Note that the folder name should not include the base folder. If the folder does not exist then 0 (CDIFF_IDENTICAL) is returned. For files see GetFileDiff function GetFoldername(Row); Row: The row number of the folder to retrieve © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 383 SyncBackPro Help Return value: The name or an empty string on failure This function returns the name of a folder based on its row number. Row numbers start at zero and end at FolderCount - 1 (as it is zero based). The filename can be used with functions such as GetFolderDetails. function GetFolderNTFSSecurity(Filename, Left); Filename: The folder path (not including the base folder) Left: If True then return the NTFS security of the left/source folder Return value: The folders NTFS security (as a string) This function returns the NTFS security (in string format) of a folder. Note that the path should not include the base folder. If the folder does not exist, or has no NTFS security, then an empty string is returned. To set a folders NTFS security use SetFolderNTFSSecurity See also GetFolderDetailsEx function GetMovedName(Filename); Filename: The filename (not including the base folder) Return value: The file it has been moved from or to This function returns the name a file has been moved from or to. For example, if SyncBack detects that file \folder\file.txt has been moved to \somewhere\else.txt then calling GetMovedName('\folder\file.txt') will return '\somewhere\else.txt' and calling GetMovedName('\somewhere\else.txt') will return '\folder\file.txt' Note that the filenames do not include the base folder. If the file has not been moved, or does not exist, then an empty string is returned. function GetRuntimeValue(ValueToGet); ValueToGet: The runtime value to returm Return value: The value as a signed 32-bit integer Returns a runtime value for the current profile. For more details see the description of the GetRuntimeValueStr function. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 384 Note that this function returns 32-bit values, so if the value is 64-bit you should instead use the GetRuntimeValueStr function to return it as a string. function GetRuntimeValueStr(ValueToGet); ValueToGet: The runtime value to returm Return value: The value as a string Returns a runtime value for the current profile. This is useful to retrieve constantly updating information about the current profile, e.g. how many bytes it has copied so far. Sometimes this information is also available using variables, but often the variables aren't updated until certain stages have completed. The value is returned as a string to get around 64-bit limitations in VBScript. Some of the values are 32-bit integers so they can safely be retrieved using the GetRuntimeValue function instead. ValueToGet can be one of the following: The following counters are updated during the scanning stage. A file or folder with the same name on both the source/left and destination/right is counted as one file or folder and not two. These are signed 32-bit integers. 0: The number of files scanned. 62: The number of directories scanned. The following counters are updated during the comparison stage (what the differences are). A file or folder with the same name on both the source/left and destination/right is counted as one file or folder and not two. These are signed 32-bit integers. 1: The number of files that have been changed 2: The number of files whose contents have changed (hash values are different) 3: The number of files that are only in the destination/right 4: The number of files that are only in the source/left 63: The number of files that are in the source/left and destination/right 5: The number of files whose modification date & time have changed 6: The number of files whose size has changed 7: The number of files whose attributes have changed 8: The number of files whose name is same but the case has changed 9: The number of directories that have been changed 10: The number of directories that are only in destination/right 11: The number of directories that are only in source/left 12: The number of files that are identical files or only have versions 64: The number of files whose creation date & time have changed 65: The number of files whose NTFS file security have changed 68: The number of files whose last access date & time have changed © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 385 SyncBackPro Help The following are comparison counters that indicate what is left to be done. They are set during the comparison stage and decremented as the profile runs. These are signed 32-bit integers. 13: The number of files to skip 14: The number of files to be prompted on 15: The number of files to delete from source/left 16: The number of files to delete from destination/right 17: The number of files to copy from source/left 18: The number of files to copy from destination/right 19: The number of files to move from source/left 20: The number of files to move from destination/right 21: The number of files in the source/left to have date & time, attributes, and/or case changed 22: The number of files in the destination/right to have date & time, attributes, and/or case changed 23: The number of files to restore old versions of in source/left 24: The number of files to restore old versions of in destination/right 25: The number of files to be renamed on the source/left 26: The number of files to be renamed on the destination/right The following are comparison counters that indicate what is left to be done. They are set during the comparison stage and decremented as the profile runs. These are signed 64-bit integers. 27: The total number of bytes to be copied to the source/left. This includes files to be moved to the source/left. 28: The total number of bytes to be copied to the destination/right. This includes files to be moved to the destination/right. 29: The total number of bytes to delete from the source/left. This includes files to be moved to the destination/right. 30: The total number of bytes to delete from the destination/right. This includes files to be moved to the source/left. The following are results counters that indicate what has been done so far. They are incremented while the profile is running. These are signed 32-bit integers. 31: The number of files skipped so far 32: The number of files and folders prompted on so far 33: The number of files and folders renamed on the source/left so far 34: The number of files and folders renamed on the destination/right so far 35: The number of files deleted from the source/left so far 36: The number of files deleted from the destination/right so far 37: The number of files copied from the source/left so far 38: The number of files copied from the destination/right so far 39: The number of files moved from the source/left so far 40: The number of files moved from the destination/right so far 41: The number of files on the source/left that so far have had their last modification date and time updated 42: The number of files on the destination/right that so far have had their last modification date and time updated © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 386 43: The number of files on the source/left that so far have had their attributes updated 44: The number of files on the destination/right that so far have had their attributes updated 45: The number of files on the source/left that so far have old versions restored 46: The number of files on the destination/right that so far have old versions restored 66: The number of files on the source/left that so far have had their security updated 67: The number of files on the destination/right that so far have had their security updated 69: The number of files on the source/left that so far have been versioned 70: The number of files on the destination/right that so far have been versioned The following are bytes counters that indicate what has been done so far. They are incremented while the profile is running. These are signed 64-bit integers. 47: The total number of bytes copied to the source/left so far. This includes files being moved to the source/left. 48: The total number of bytes copied to the destination/right so far. This includes files being moved to the destination/right. 49: The total number of bytes deleted from the source/left so far. This includes files being moved from the source/left. 50: The total number of bytes deleted from the destination/right so far. This includes files being moved from the destination/right. 51: The total number of bytes replaced (overwritten) on the source/left so far. 52: The total number of bytes replaced (overwritten) on the destination/right so far. The following are error counters that indicate the number of errors so far. They are incremented while the profile is running. These are signed 32-bit integers. 53: The total number of compression errors so far 54: The total number of files that have failed to be copied, deleted, or moved so far 55: The total number of files that cannot have their hash value calculated so far 56: The total number of non-critical errors so far (Deprecated: use 61 instead, for warnings) 61: The total number of warnings so far The following are various values that are 64-bit signed integers. 57: The total number of bytes free initially on the source/left. This is set at the beginning of the profile and not updated. If the bytes free cannot be retrieved then -1 is returned. 58: The total number of bytes free initially on the destination/right. This is set at the beginning of the profile and not updated. If the bytes free cannot be retrieved then -1 is returned. 59: The number of files that will be updated. This is not changed once set. 60: The number of kilo-bytes that will be updated. This is not changed once set. function GetStoredFileName(Filename, Left); Filename: The filename (not including the base folder) Left: If True then return the stored name of the left/source file Return value: The files stored filename © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 387 SyncBackPro Help This function returns the stored (actual) filename of a file. Note that the filename should not include the base folder. If the file does not exist then an empty string is returned. If it doesn't have a stored name then it's normal filename is returned. See the function GetStoredFolderName for information on what a stored name is. See also GetFileDetailsEx function GetStoredFolderName(Filename, Left); Filename: The folder name (not including the base folder) Left: If True then return the stored name of the left/source folder Return value: The folders stored filename This function returns the stored (actual) name of a folder. Note that the filename should not include the base folder. If the folder does not exist then an empty string is returned. If it doesn't have a stored name then it's normal name is returned. A folder may have a different name on one side, e.g. the right/destination name may be different from the left/source name. For example: GetStoredFolderName('\Folder\A long folder name\', FALSE); may return "\FOLDER\ALONGFOL" To get the stored name of a file use GetStoredFileName function GetVersionDetails(Filename, Left, VersionNumber; var VersionFilename; var Size; var Attrs; var ModDateTime; var WhenVersioned); Filename: The filename (not including the base folder) Left: Pass True to get the details of the left/source file version VersionFilename: The filename for the version of the file Size: The size of the file in bytes (note this is a string) Attr: The filesystem attributes of the file ModDateTime: The last modification date & time of the file (local timezone) WhenVersioned: When the version was created (local timezone) Return value: False if the file version does not exist This function is deprecated. Use GetVersionDetailsEx instead. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 388 This function returns all the details of for a specific version of a file. Note that the filename should not include the base folder. Version numbers are zero based, with zero being the oldest version. Passing -1 as the version number will get you the newest version. If the file or version does not exist then False is returned. For example: DoesNotExist:=SBRunning.GetVersionDetails(Filename, TRUE, 0, VersionName, Si See also GetFileVerCount and GetCurrentFileVer function GetVersionDetailsEx(Filename, Left, VersionNumber; var VersionFilename; var Size; var Attrs; var ModDateTime; var CreateDateTime; var WhenVersioned; var VersionType); Filename: The filename (not including the base folder) Left: Pass True to get the details of the left/source file version VersionFilename: The filename for the version of the file Size: The size of the file in bytes (note this is a string) Attr: The filesystem attributes of the file ModDateTime: The last modification date & time of the file (local timezone) CreateDateTime: The file creation date & time (local timezone) WhenVersioned: When the version was created (local timezone) VersionType: The type of version file. It could be a hash file, for example. See (TVerStoreType). Return value: False if the file version does not exist This function returns all the details of for a specific version of a file. Note that the filename should not include the base folder. Version numbers are zero based, with zero being the oldest version. Passing -1 as the version number will get you the newest version. If the file or version does not exist then False is returned. For example: DoesNotExist:=SBRunning.GetVersionDetailsEx(Filename, TRUE, 0, VersionName, See also GetFileVerCount and GetCurrentFileVer function LeftAttribsToStr(Attrs); Attrs: The attributes of the file or folder Return value: The string representation of the attributes © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 389 SyncBackPro Help Returns a string representation of the attributes of a file or folder. This use the location itself. For example, FTP attributes are not the same as Windows attributes. See also RightAttribsToStr function LeftFileExists(Filename); Filename: The filename to check for Return value: True if the file exists in the left/source Returns True if the file exists in the left/source. Note that the filename should not include the base folder. See also LeftFolderExists and RightFileExists function LeftFolderExists(Name); Name: The name of the folder to check for Return value: True if the folder exists in the left/source Returns True if the folder exists in the left/source. Note that the name should not include the base folder. See also RightFolderExists and LeftFileExists function RightAttribsToStr(Attrs); Attrs: The attributes of the file or folder Return value: The string representation of the attributes Returns a string representation of the attributes of a file or folder. This use the location itself. For example, FTP attributes are not the same as Windows attributes. See also LeftAttribsToStr function RightFileExists(Filename); Filename: The filename to check for Return value: True if the file exists in the right/destination © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 390 Returns True if the file exists in the right/destination. Note that the filename should not include the base folder. See also RightFolderExists and LeftFileExists function RightFolderExists(Name); Name: The name of the folder to check for Return value: True if the folder exists in the right/destination Returns True if the folder exists in the right/destination. Note that the name should not include the base folder. See also LeftFolderExists and RightFileExists function SetFileAttrs(Filename, Left, NewAttrs); Filename: The filename (not including the base folder) Left: Pass True to set the attributes of the left/source file NewAttrs: The file attributes to set Return value: The files attributes, or -1 on failure This function sets the filesystem attributes of a file. Note that the filename should not include the base folder. This function does not actually change the attributes of the file. It instead tells SyncBack what the attributes of the file are. See also GetFileAttrs function SetFileCreateDateTime(Filename, Left, NewAttrs); Filename: The filename (not including the base folder) Left: Pass True to set the date & time of the left/source file NewDateTime: The date & time to use (local timezone) Return value: The date & time of the file, or 1.0 on failure This function sets the creation date & time of a file. Note that the filename should not include the base folder. This function does not actually change the creation date & time of the file. It instead tells SyncBack what the creation date & time of the file is. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 391 SyncBackPro Help See also GetFileCreateDateTime function SetFileDateTime(Filename, Left, NewAttrs); Filename: The filename (not including the base folder) Left: Pass True to set the date & time of the left/source file NewDateTime: The date & time to use (local timezone) Return value: The date & time of the file, or 1.0 on failure This function sets the last modification date & time of a file. Note that the filename should not include the base folder. This function does not actually change the last modification date & time of the file. It instead tells SyncBack what the last modification date & time of the file is. See also GetFileDateTime function SetFileHash(Filename, Left, NewHash); Filename: The filename (not including the base folder) Left: Pass True to set the hash value of the left/source file NewHash: The CRC32 hash value of the file Return value: The hash value of the file, or empty string on failure This function sets the CRC32 hash value (string format) of a file. Note that the filename should not include the base folder. This function does not actually change the hash value of the file. It instead tells SyncBack what the hash value of the file is. Note that the hash value is not used unless the profile is configured to use hashing for file comparisons. See also GetFileHash function SetFileNTFSSecurity(Filename, Left, NewNTFSSecurity); Filename: The filename (not including the base folder) Left: Pass True to set the security of the left/source file NewNTFSSecurity: The NTFS security of the file Return value: The NTFS security of the file, or empty string on failure This function sets the NTFS security (string format) of a file. Note that the filename should not include the base folder. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 392 This function does not actually change the security of the file. It instead tells SyncBack what the security of the file is. See also GetFileNTFSSecurity function SetFileSize(Filename, Left, NewSize); Filename: The filename (not including the base folder) Left: Pass True to set the size of the left/source file NewSize: The size of the file Return value: The size of the file, or -1 on failure This function sets the size of a file. Note that the filename should not include the base folder. To avoid the 32-bit limit in VBScript the NewSize is a string, and so is the return value. This function does not actually change the size of the file. It instead tells SyncBack what the size of the file is. See also GetFileSize function SetFileVersion(Filename, Left, NewVersion); Filename: The filename (not including the base folder) Left: Pass True to set the details of the left/source file NewVersion: The version number to use Return value: The current file version, -1 if an error occurred, or -2 if it isn't set to use a version This function sets the current version of a file. Version numbers are zero based, with zero being the oldest version. Passing -1 as the version number will get you the newest version. Passing -2 as the version number will set it so no version is restored. The only place you can change the version of a file is in the call to RunPreCopyCheck. If SetFileVersion is called before or after that point then the results are undefined. You cannot change the current version of a file if the file is to be deleted or replaced, for example. In this case the function will return -1. It will also fail if you try and change the version to a delta hash file. Note that the filenames do not include the base folder. See the functions GetFileVerCount and GetCurrentFileVer function SetFolderAttrs(Name, Left, NewAttrs); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 393 SyncBackPro Help Name: The folder (not including the base folder) Left: Pass True to set the attributes of the left/source folder NewAttrs: The folder attributes to set Return value: The folder attributes, or -1 on failure This function sets the filesystem attributes of a folder. Note that the path should not include the base folder. This function does not actually change the attributes of the folder. It instead tells SyncBack what the attributes of the folder are. See also GetFolderAttrs function SetFolderCreateDateTime(Name, Left, NewDate); Name: The folder (not including the base folder) Left: Pass True to set the date & time of the left/source folder NewDate: The creation date & time to use (local timezone) Return value: The creation date & time of the folder, or 1.0 on failure This function sets the creation date & time of a folder. Note that the path should not include the base folder. This function does not actually change the creation date & time of the folder. It instead tells SyncBack what the creation date & time of the folder is. See also GetFolderCreateDateTime function SetFolderDateTime(Name, Left, NewDate); Name: The folder (not including the base folder) Left: Pass True to set the date & time of the left/source folder NewDate: The modification date & time to use (local timezone) Return value: The modification date & time of the folder, or 1.0 on failure This function sets the modification date & time of a folder. Note that the path should not include the base folder. This function does not actually change the modification date & time of the folder. It instead tells SyncBack what the modification date & time of the folder is. See also GetFolderCreateDateTime © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 394 function SetFolderNTFSSecurity(Name, Left, NewSecurity); Name: The folder (not including the base folder) Left: Pass True to set the security of the left/source folder NewSecurity: The NTFS security of the folder Return value: The NTFS security of the folder, or empty string on failure This function sets the NTFS security (string format) of a folder. Note that the path should not include the base folder. This function does not actually change the security of the folder. It instead tells SyncBack what the security of the folder is. See also GetFolderNTFSSecurity function Sleep(Seconds); Seconds: The number of seconds to sleep Return value: True if the user has aborted the profile Sleep for the specified number of seconds, but also checks to see if the profile has aborted while sleeping. If the user has aborted the profile run then the function returns True immediately, i.e. the sleep is aborted. procedure CriticalError(Filename, TheError, IncErrorCount); Filename: The filename of the file the error relates to TheError: The error message IncErrorCount: Pass True if the critical error count should be incremented This subroutine records a critical error in the profiles log file. The error must be related to a particular file. Note that the filename should not include the base folder. For example, if the base folder is C:\My Files\, and the file is C:\My Files\Folder\Filename.txt, then the filename to pass should be \Folder\Filename.txt A critical error means the profile has failed. The profile will continue running but once completed its last run status will be 'Failure'. For example: CriticalError('\folder\file.txt', 'Your wife says you cannot copy this file' See also NotCriticalError and Warning © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 395 SyncBackPro Help procedure DebugOut(Str1, Str2, Level); Str1: Typically this is a filename or refers to the object the error is about Str2: Typically this is the error message Level: The severity of the message This subroutine records a message in the debug log. Note that nothing is recorded if debug output is not enabled. Level refers to the severity of the message (see below). The user can set the minimum level a message should be, e.g. they could filter out anything above level 5. The debug levels are: ELLError = 0 ELLWarning = 5 ELLInfo = 10 For example: DebugOut('\folder\file.txt', 'Klingons off the starboard bow', ELLError); To record a message in the Windows event log use EventOut procedure EventOut(Msg, Level); Msg: The message to record in the Windows event log Level: The severity of the message This subroutine records an event in the Windows Applications Event Log. Level refers to the severity of the message (1=error, 5=warning, 10=information). The even is only recorded if debug output is enabled. The levels are: ELLError = 0 ELLWarning = 5 ELLInfo = 10 For example: EventOut('The toilet seat has not been left down', 1); To record a message in the debug log for the profile use DebugOut procedure Exception(ExceptionReport); ExceptionReport: The exception report © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 396 This subroutine records an exception report in the profiles log file. An exception report is typically a number of lines of text that detail where an unexpected error occurred in the program/script. This is usally done when something serious unexpectedly happens in the program, e.g. an attempt is made to read from a nil pointer. To record a message in the debug log for the profile use DebugOut To record a message in the Windows event log use EventOut procedure NotCriticalError(Filename, TheError); Filename: The filename of the file the error relates to TheError: The error message This subroutine has been deprecated. Please use Warning instead. See also CriticalError procedure RebootRequired; This subroutine tells SyncBack that the computer should be rebooted aftet the profile has completed. For example, if a file can only be replaced on reboot then this subroutine should be called. Note that a reboot is not guaranteed to occur as the user may decide not to reboot. procedure SysLogMessage(Msg, Severity); Msg: The message to send to the SysLog server Severity: The severity of the message (ranging from 0 to 7) This subroutine sends a message to the SysLog server. Note that nothing is sent unless a SysLog server has been configured to be used. The severity is an integer value ranging from 0 (ESysLogEmergency) to 7 (ESysLogDebug). The severity levels are: ESysLogEmergency = The system is unusable ESysLogAlert = Action must be taken immediately ESysLogCritical = Critical conditions exist ESysLogError = Error conditions exist ESysLogWarning = Warning conditions exist ESysLogNotice = Normal but significant condition ESysLogInformational = Informative message ESysLogDebug = Debug-level messages For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 397 SyncBackPro Help SysLogMessage(Klingons off the starboard bow', ESysLogError); To record a message in the Windows event log use EventOut procedure Warning(Filename, TheWarning); Filename: The filename of the file the warning relates to TheError: The warning message This subroutine records a warning message in the profiles log file. The warning must be related to a particular file. Note that the filename should not include the base folder. For example, if the base folder is C:\My Files\, and the file is C:\My Files\Folder\Filename.txt, then the filename to pass should be \Folder\Filename.txt A warning does not mean the profile has failed. For example: Warning('\folder\file.txt', 'The file has your credit card number in it'); See also CriticalError Property Abort Returns TRUE if the profile is being aborted. Set it to TRUE to abort the profile. Note that the abort may not be immediate, and an abort cannot be aborted (i.e. once True you cannot change it to False). Property DifferentialBackup Returns True if the profile is being run as a differential backup. If it is then that also implies it is a Fast Backup profile. This property is read-only. See also FastBackupType and DynamicFastBackup Property DynamicFastBackup Returns True if the profile is being run as a dynamnic fast backup backup. This property is read-only. See also FastBackupType and DifferentialBackup © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 398 Property FastBackupType Returns the type of Fast Backup the profile is being run as: EFB_NONE = Not using Fast Backup EFB_SYNCBACK = The original SyncBack Fast Backup method EFB_ARCHIVE = Archive attribute Fast Backup EFB_BACKUPEMAIL = Backup of email (not for POP3) This property is read-only. See also DynamicFastBackup and DifferentialBackup Property FileCount Returns the number of files in the profile. This property is read-only. For the number of folders see FolderCount Property FolderCount Returns the number of folders (directories) in the profile. This property is read-only. For the number of folders see FileCount Property FullBackup Returns TRUE if this is a full-backup profile run. The value can be set to TRUE or FALSE, but note that any change to this value will only be relevant for the next run of the profile. Because of this any change made will not be reflected in reading the value, i.e. if FullBackup returns FALSE and you set it to TRUE then it will still return FALSE. You can check the current value by using GetProperty, e.g. SBVariables.GetProperty("S_FULLBACKUP", "N", True) The setting will be automatically reset to FALSE after the profile has run (if it was a re-scan). Because of this it is recommend that you set the value in a call to RunProfileResult as this is called after any change the program makes to the value. See also FastBackupType © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 399 SyncBackPro Help Property GroupName Returns the name of the group profile, or empty string if the profile is not being run as part of a group. This property is read-only. See also VisualGroupName Property IntegrityCheck Returns True if the profile is being run in integrity check mode. Note that when run in integrity check mode it is also considered a simulated run. This property is read-only. See also Simulated Property LeftAbilities Returns the abilities of the source/left location. This property is read-only. See also RightAbilities Property LeftFolder Returns the left/source base folder, e.g. C:\My Files\To Backup\ This property is read-only. See also RightFolder and LeftName Property LeftName Returns the name of the left/source, e.g. My Files To Backup This property is read-only. See also RightName Property Name © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 400 Returns the name of the profile. This property is read-only. See also GroupName and ProfileType Property ProfileType Returns the type of the profile. This property is read-only. See also ProfileTypeDesc Property ProfileTypeDesc Returns a description of the profile based on its type (see ProfileType). This property is read-only. Property Restore Returns True if the profile is being run in restore mode. This property is read-only. See also Simulated Property RightAbilities Returns the abilities of the destination/right location. This property is read-only. See also LeftAbilities Property RightFolder Returns the right/destination base folder, e.g. C:\My Backup Files\ This property is read-only. See also LeftFolder and RightName © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 401 SyncBackPro Help Property RightName Returns the name of the right/destination, e.g. My Backup Files This property is read-only. See also LeftName Property Simulated Returns True if the profile is being run in simulation mode. This property is read-only. See also Restore Property Unattended Returns True if the profile is being run unattended, i.e. the script should not prompt the user or expect any user interaction. This property is read-only. Property VisualGroupName If the profile is being run as part of a group, or it is being run from the user interface from within a group, then this is the name of the group. Note that the property GroupName is returned as an empty string if the profile is not being run as part of a group, but VisualGroupName may still return a group name if the user has clicked on the profile in a group and then run it. This property is read-only. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.13 SBSystem These are functions that can be accessed from scripts via the SBSystem object. For example: SBSystem.Say('Hello'); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 402 The SBSystem object is accessible from any type of script. All the example code below is written in using the Pascal scripting language. function BuildDateTime(Day, Mon, Year, Hour, Min, Sec, MSec); Day: Day of the month Mon: Month of the year Year: Year Hour: Hour of the day (24-hour clock) Min: Minute of the hour Sec: Second of the minute MSec: Milli-seconds of the second Return value: A date & time value, or 1.0 if the parameters passed are invalid This function builds a date & time that can be used with SyncBack, e.g. in the AddFile function. Note that the date variable type in VBScript is already compatible with SyncBack. For example, for 24th June 1971 15:31:02.123 you would call: BuildDateTime(24, 6, 1971, 15, 31, 02, 123); function CheckNetworkDrive(UNCOrPath); UNCOrPath: UNC path or drive path to check Return value: An error message on failure This function checks to see if a network drive can be reached. A UNC path, e.g. \ \server\share\folder\, or networked drive path, e.g. Z:\, can be passed. If it can be reached then an empty string is returned, otherwise an error message is returned. Note that Windows will use your current credentials to check the connection, so it will succeed even if you do not have access to the share, but it will fail if you don't have valid credentials on the remote computer. To check if a computer can be reached (via its hostname or IP address) use the function Ping function CompareFilenames(Filename1, Filename2, CaseSensitive); Filename1: A Unicode filename to compare with Filename2 Filename2: A Unicode filename to compare with Filename1 CaseSensitive: TRUE if the comparison should be case sensitive © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 403 SyncBackPro Help Return value: Returns zero if the strings are ordinally identical This function compare two filenames for ordinal (not liguistic) equality. Digits in the strings are considered as numerical content rather than text. For performance reasons, if you are just testing for equality (or not) then use SameFilenames instead. * Returns zero if the strings are identical. * Returns > 0 if the string pointed to by Filename1 has a greater value than that pointed to by Filename2. * Returns < 0 if the string pointed to by Filename1 has a lesser value than that pointed to by Filename2. See also SameFilenames function CompressFile(Filename); Filename: The full filename of the file to compress Return value: Returns error message on failure This function compresses a file or folder using NTFS compression. If the file or folder is already compressed then no error is returned. See also DecompressFile function COMRegister(Filename); Filename: Filename of the COM/OCX/ActiveX component to register Return value: An error message on failure This function registers an COM/OCX/ActiveX component (DLL or EXE). Note that typically the user must have Administrator privileges to register components. On success an empty string is returned, otherwise an error message is returned. IMPORTANT: If SyncBack is configured not to register COM objects (see Global Settings) then it will not register the component and silently fail. function CRC32(Filename); Filename: The filename of the file to calculate the hash value of Return value: CRC32 hash value of the file, or empty string on failure This function returns the CRC32 hash value of a file in string format. Note that it may take a long time to calculate the hash values of large files, or files accessed via a slow connection. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 404 See also MD5 function DecodeString(Str); Str: The string to decode Return value: The decoded string This function decodes a string that has been previously encoded with the EncodeString function. function DecompressFile(Filename); Filename: The full filename of the file to decompress Return value: Returns error message on failure This function decompresses an NTFS compressed file. If the file does not exist, or is not compressed, then no error message is returned. Note that it cannot decompress folders. See also CompressFile function DecryptFile(Filename); Filename: The full filename of the file to decrypt Return value: Returns error message on failure This function decrypts an NTFS encrypted file. If the file does not exist, or is not encrypted, then no error message is returned. Note that it cannot decrypt folders. See also EncryptFile function DecryptString(Str); Str: The string to decrypt Return value: The decrypted string This function decrypts a string that has been previously encrypted with the EncryptString function. function EncodeString(Str); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 405 SyncBackPro Help Str: The string to encode Return value: The encoded string This function encodes a string so that it can safely be stored in INI files, the registry, etc. It is useful for when the string may contain characters that may be invalid for the storage medium. See also DecodeString function EncryptFile(Filename); Filename: The full filename of the file to encrypt Return value: Returns error message on failure This function encrypts a file using NTFS encryption. If the file does not exist, or is already encrypted, then no error message is returned. If the file is compressed, EncryptFile will decompress the file before encrypting it. Note that it cannot encrypt folders. See also DecryptFile function EncryptString(Str); Str: The string to encrypt Return value: The encrypted string This function encrypts a string so that it is no longer plain text. Note that the encrypted string is formatted as a list of numbers (seperated by spaces). This means it can safely be stored in INI files, the registry, etc. so there is no need to use the EncodeString function. See also DecryptString function Exec(CmdLine, WaitSecs, var RetVal, var ErrMsg); CmdLine: The full program name and parameters WaitSecs: The number of seconds to wait RetVal: The integer return value of the program executed ErrMsg: An error message if the program could not be executed Return value: Returns True if the program was executed This function executes a program and optionally waits for it to complete. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 406 CmdLine can contain command line parameters. It must be a fully qualified filename, e.g. C: \abc\def param1 param2 If WaitSecs < 0 then it will wait forever the program to finish If WaitSecs = 0 then it will not wait for the program to finish If WaitSecs > 0 then it will wait that number of seconds for it to finish You need to wrap double quotes around the program name (no need if it does not contain spaces) otherwise the return value will always be 1. Also, command line parameters should be wrapped in double quotes if they contain spaces. For example: "D:\Documents and Settings\Mick\Desktop\deldest.bat" param1 "param 2" and NOT: D:\Documents and Settings\Mick\Desktop\deldest.bat param1 param 2 CmdLine can be prefixed with special parameters: /min to minimize the window (and not make it active) /max to maximize the window /hide to hide the window e.g. /min "D:\Documents and Settings\Mick\Desktop\deldest.bat" "param 1" If you choose to wait for the program to terminate then its return value is returned in RetVal. Otherwise the value in RetVal is unknown and should be ignored. On failure ErrMsg will be set to an error message. If the program was executed then True is returned. False is returned if the program could not be executed, e.g. doesn't exist. Note that True does not mean the program did what you required. To verify that check RetVal. For example: Executed:=SBSystem.Exec('C:\Windows\System32\Notepadx.exe', 0, RetVal, ErrMs To view a web page use the function OpenBrowser, and to open a file use the function OpenFile function GetNTFSSecurity(Filename, SecRequired, var NTFSSec); Filename: The filename of the file to get the security details of SecRequired: The NTFS security information required NTFSSec: The NTFS security requested Return value: An error message on failure © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 407 SyncBackPro Help This function retrieves the NTFS security of a file in string format. To get the security of a folder the filename must include a trailing slash. Note that you must have the required security privilelages to get the security for a file. The SecRequired parameter specifies what security information you require: OWNER_SECURITY_INFORMATION (1) Include the owner. GROUP_SECURITY_INFORMATION (2) Include the primary group. DACL_SECURITY_INFORMATION (4) Include the discretionary access control list (DACL). SACL_SECURITY_INFORMATION (8) Include the system access control list (SACL). LABEL_SECURITY_INFORMATION (16) These values can be combined, e.g. OWNER_SECURITY_INFORMATION + GROUP_SECURITY_INFORMATION function GetProfileName(Idx); Idx: The profile name to retrieve (first profile is zero) Return value: The name of the profile, or empty string if there is no such profile This function retrieves the name of a profile. To get the number of profiles use the ProfileCount property. Note that the first profile is zero (0), and the last is ProfileCount - 1 Note that you should call ProfileCount to refresh the list. function GMTToLocal(GMTTime); GMTTime: A date & time in the GMT/UTC timezone Return value: A local date & time This function convert a GMT/UTC date & time to a local date & time. The function LocalToGMT will convert a local date & time to a GMT/UTC date & time. function IsFolder(Filename); Filename: The filename to check Return value: True if Filename has a trailing backslash © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 408 This function checks if a string has a trailing backslash, and if so, returns True. Note that the function does not check if the file or folder actually exists. For example: SBSystem.IsFolder('c:\abc\def'); will return False, but SBSystem.IsFolder('c:\abc\def\'); will return True. function LanguageCode(DomainName, ToTranslate); DomainName: The translation domain to use (use default for SyncBack translations) ToTranslate: The string to translate Return value: The translated string, or ToTranslate if it cannot be translated This function translates a string from English to the current language, assuming a translation is available. See also AddTranslationDomain to add translations. function LocalToGMT(GMTTime); LocalTime: A date & time in the local timezone Return value: A GMT/UTC date & time This function convert a local date & time to a GMT/UTC date & time. The function GMTToLocal will convert a GMT/UTC date & time to a local date & time. function MD5(Filename); Filename: The filename of the file to calculate the hash value of Return value: MD5 hash value of the file, or empty string on failure This function returns the MD5 hash value of a file in string format. Note that it may take a long time to calculate the hash values of large files, or files accessed via a slow connection. See also SHA1 function OpenBrowser(URL); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 409 SyncBackPro Help URL: The URL of the web page to open in a browser Return value: True if the browser was opened to display the web page This function opens the default web browser and directs it to go to the URL given. Note that it returns True only if the browser is opened, but it cannot know if the URL itself is valid or accessible. For example: SBSystem.OpenBrowser('http://www.2BrightSparks.com/'); To open a file use the function OpenFile To check if a server can be reached use the function Ping function OpenFile(Filename); Filename: The complete filename of the file to open Return value: An error message of failure, else an empty string This function opens a file, e.g. a text document, with the default program for that file type, e.g. Notepad. Note that it returns an empty string only if the appropriate program was opened, but it cannot know if the file itself was opened by the program. For example: SBSystem.OpenFile('c:\folder\file.txt'); On failure an error message is returned. To open a web page use the function OpenBrowser function Ping(HostnameOrIP); HostnameOrIP: An I.P. address or hostname Return value: An error message on failure This function 'pings' a server to see if it is accessible. Note that some servers do not respond to ping requests (e.g. at time of writing microsoft.com does not). If the server responds to the ping requests then an empty string is returned, otherwise an error message is returned. For example: SBSystem.Ping('google.com'); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 410 To check if a network drive is accessible use the function CheckNetworkDrive function SameFilenames(Filename1, Filename2, CaseSensitive); Filename1: A Unicode filename to compare with Filename2 Filename2: A Unicode filename to compare with Filename1 CaseSensitive: TRUE if the comparison should be case sensitive Return value: Returns TRUE if the strings are ordinally identical This function compare two filenames for ordinal (not liguistic) equality. Digits in the strings are considered as numerical content rather than text. See also CompareFilenames function SBCmdLineParam(ParamIdx); ParamIdx: The command line parameter to retrieve (first param is zero) Return value: The command line parameter, or empty string if there is no such parameter This function retrieves the command line parameters passed to SyncBack. To get the number of parameters use the SBCmdLineParamsCount property. Note that the first parameter is zero (0), and the last is SBCmdLineParamsCount - 1 function SBVersion(Filename, var Major, var Minor, var Release, var Build); Filename: The filename of an executable, or an empty string for SyncBack Major: The major version number of the executable Minor: The minor version number of the executable Release: The release version number of the executable Build: The build version number of the executable Return value: If an empty filename was passed then the name SyncBack is using This function gets the version information from an executable. If Filename is passed as an empty string then it will return the version information of SyncBack itself. Also, passing an empty string will return the application name of SyncBack. In some situations SyncBack may be branded under a different name. If a filename is passed then the filename itself (stripped of the path) is returned. For example: AppName:=SBSystem.SBVersion(Filename, Major, Minor, Release, Build); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 411 SyncBackPro Help function SetCreateDateTime(Filename, LocalDateTime); Filename: Complete filename of the file to change the creation date & time of LocalDateTime: The local date & time to change the creation date & time to Return value: An error message on failure This function sets the creation date & time of a file to the one supplied. The filename must be a complete filename, and the date & time should be in the local timezone. It returns an error message on failure. For example: SBSystem.SetCreateDateTime('c:\folder\file.txt;, Now); function SetFileAttributes(Filename, Attribs); Filename: Complete filename of the file to change the attributes of Attribs: The attributes to use Return value: An error message on failure This function sets the Windows file attributes of file. The filename must be a complete filename. It returns an error message on failure. For example: SBSystem.SetFileAttributes('c:\folder\file.txt', FILE_ATTRIBUTE_READONLY); function SetLastModDateTime(Filename, LocalDateTime); Filename: Complete filename of the file to change the modification date & time of LocalDateTime: The local date & time to change the modification date & time to Return value: An error message on failure This function sets the last modification date & time of a file to the one supplied. The filename must be a complete filename, and the date & time should be in the local timezone. It returns an error message on failure. For example: SBSystem.SetLastModDateTime('c:\folder\file.txt', Now); function SetNTFSSecurity(Filename, SecRequired, NTFSSec); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 412 Filename: Complete filename of the file to change the NTFS security of SecRequired: The security information to set NTFSSec: The NTFS security in string format Return value: An error message on failure This function sets the NTFS security of a file to the one supplied. The filename must be a complete filename, and the NTFS security should be in string format. It returns an error message on failure. Note that you must have the required security privilelages to set the security of a file. To set the security of a folder the filename must include a trailing slash. The SecRequired parameter specifies what security information you require: OWNER_SECURITY_INFORMATION (1) Include the owner. GROUP_SECURITY_INFORMATION (2) Include the primary group. DACL_SECURITY_INFORMATION (4) Include the discretionary access control list (DACL). SACL_SECURITY_INFORMATION (8) Include the system access control list (SACL). LABEL_SECURITY_INFORMATION (16) These values can be combined, e.g. OWNER_SECURITY_INFORMATION + GROUP_SECURITY_INFORMATION For example: SBSystem.SetNTFSSecurity('c:\folder\file.txt', OWNER_SECURITY_INFORMATION + function SHA1(Filename); Filename: The filename of the file to calculate the hash value of Return value: SHA1 hash value of the file, or empty string on failure This function returns the SHA1 hash value of a file in string format. Note that it may take a long time to calculate the hash values of large files, or files accessed via a slow connection. See also SHA256 function SHA256(Filename); © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 413 SyncBackPro Help Filename: The filename of the file to calculate the hash value of Return value: SHA256 hash value of the file, or empty string on failure This function returns the SHA256 hash value of a file in string format. Note that it may take a long time to calculate the hash values of large files, or files accessed via a slow connection. See also CRC32 function SHA512(Filename); Filename: The filename of the file to calculate the hash value of Return value: SHA512 hash value of the file, or empty string on failure This function returns the SHA512 hash value of a file in string format. Note that it may take a long time to calculate the hash values of large files, or files accessed via a slow connection. See also SHA256 function UpdateFileStatus(Status); Status: The file status message to display in the SyncBack main window Return value: True if the profile is terminating This function updates the current file status shown in the SyncBack main window. Note that SyncBack itself will display the appropriate status messages when files are being copied, deleted, etc. The current file status message is the message displayed below the current status messages. For example: SBSystem.UpdateFileStatus('Taking the stereo from your car...'); See also UpdateStatus function UpdateStatus(Status); Status: The status message to display in the SyncBack main window Return value: True if the profile is terminating This function updates the current status shown in the SyncBack main window. Note that SyncBack itself will display the appropriate status messages when tasks are being © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 414 performed, e.g. Scanning for changes. The status message is the message displayed above the current file status message. For example: SBSystem.UpdateStatus('Taking your dog for a walk...'); See also UpdateFileStatus procedure AddTranslationDomain(DomainName); DomainName: The name of the translation domain This function adds a custom translation domain so that a script can provide its own translations for strings. Strings are translated using TranslateString. A domain is the name of a .MO translation file (without the .MO extension). The .MO file must be placed into the appropriate \locale\[language code]\LC_MESSAGES\ sub-folders of the SyncBack installation folder. There should be a .MO file for each language that strings can be translated into. MO files are created using the freeware POEdit program. See the TranslationExample.vbs for an example. procedure Say(ToSay); ToSay: What the computer should say, or the filename of a .WAV file This subroutine uses the speech engine in Windows to have the computer say what you request. It can also be used to play .WAV files (by passing the filename). However, if used in a profile, and Bing Speech is used in that profile, then the voice set in the profile is used with Bing Speech. For example: SBSystem.Say('2 bright sparks rock my world'); procedure SayBing(ToSay, Voice); ToSay: What the computer should say Voice: Which voice to use (TBingVoice) This subroutine uses the Bing Speech cloud service to have the computer say what you request. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 415 SyncBackPro Help SBSystem.SayBing('2 bright sparks rock my world', bv_EnglishBritainFemale); procedure Sleep(Seconds); Seconds: The number of seconds to sleep This function sleeps for the specified number of seconds. Note that you should not sleep for more than a few seconds in case the user wants to abort. The script (and profile or anything else) cannot abort while sleeping. For example: SBSystem.Sleep(2); See also SBRunning.Sleep Property LanguageCode This property returns the language code of the user interface, e.g. 'en' for English. See also AddTranslationDomain and TranslateString This is a read-only property. Property NoDesktop This property returns True if there is a desktop. It would return False, for example, if no user is currently interactively logged in, or if a different user is currently interactively logged in. This is a read-only property. Property ProfileCount This property returns the number of profiles. To retrieve the names of the profiles use GetProfileName This is a read-only property. Property SBCmdLineParamsCount This property returns the number of command line parameters passed to SyncBack. The parameters themselves can be retrieved using the SBCmdLineParam function. This is a read-only property. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 416 Property SBFilename This property returns the complete filename of the SyncBack program. This is a read-only property. Property ScriptFilename This property returns the complete filename of the script itself. This should not be stored as it may change, e.g. if imported onto another computer then the path may be different. To get just the path the script is in use ScriptPath This is a read-only property. Property ScriptPath This property returns the path (directory) the script itself is in. This should not be stored as it may change, e.g. if imported onto another computer then the path may be different. To get the complete filename of the script use the function ScriptFilename This is a read-only property. Property UniqueID This property returns a universally unique 32 character long string. This is a read-only property. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.14 SBVariables These are functions that can be accessed from scripts via the SBVariables object. For example: SBSystem.SetProperty('MyVar', 'Value'); The SBVariables object is accessible from any type of script, but some functions will do nothing when used in some script types. For example, GetProperty won't work in a Main Interface script because there is no current profile. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 417 SyncBackPro Help All the example code below is written in using the Pascal scripting language. function Count; Return value: The number of variables defined This function returns the number of variables defined. function GetGlobalProperty(PropName, PropDefault, Internal); PropName: The name of the property PropDefault: The value to return if the property does not exist Internal: Pass True to retrieve properties that SyncBack uses, otherwise it's a property created by a script Return value: The value of the property (as a string) or an empty string on error This function retrieves a global property (setting) value. This is different from GetProperty and GetProfileProperty because those are used with profiles (the property is profile specific). Note that PropName must be a single property name. To check if a property exists or not pass a default value that cannot be valid, e.g. if (SBVariables.GetGlobalProperty('PropName', '!NOTEXIST!', FALSE) = '!NOTEX // Does not exist end else begin // Exists end; See also SetGlobalProperty Some internal properties are encrypted, so you must decrypt the result using the SBSystem.DecryptString function. function GetProfileProperty(ProfileName, PropName, PropDefault, Internal); ProfileName: The name of the profile to read the property from PropName: The name of the property PropDefault: The value to return if the property does not exist Internal: Pass True to retrieve properties that SyncBack uses, otherwise it's a property created by a script Return value: The value of the property (as a string) or an empty string on error © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 418 This function retrieves a profile property (setting) value from a specific profile. It works the same way as GetProfileProperty except you can specify the profile. See also SetProfileProperty Some internal properties are encrypted, so you must decrypt the result using the SBSystem.DecryptString function. function GetProperty(PropName, PropDefault, Internal); PropName: The name of the property PropDefault: The value to return if the property does not exist Internal: Pass True to retrieve properties that SyncBack uses, otherwise it's a property created by a script Return value: The value of the property (as a string) or an empty string on error This function retrieves a profile property (setting) value. The difference between properties and variables is that properties are stored as part of the profiles settings, but variables are not. That means their value is kept between profile runs. Note that PropName must be a single property name. To check if a property exists or not pass a default value that cannot be valid, e.g. if (SBVariables.GetProperty('PropName', '!NOTEXIST!', False) = '!NOTEXIST!') // Does not exist end else begin // Exists end; See also SetProperty Note that this function will do nothing if called from a Main Interface script. You must use the GetProfileProperty function. Some internal properties are encrypted, so you must decrypt the result using the SBSystem.DecryptString function. function GetVar(VarName); VarName: A string containing variables Return value: VarName with the variables expanded This function retrieves a variable value. The difference between properties and variables is that properties are stored as part of the profiles settings, but variables are not. Also, variables like environment variables are set by the operating system or other programs. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 419 SyncBackPro Help VarValue1:=SBVariables.GetVar('%USERPROFILE%'); VarValue1:=SBVariables.GetVar('Username is %USERNAME% and profile is %USERPR See also SetProperty, GetVarName, and SetVar function GetVarName(Idx, var Value); Idx: The number of the variable to get the name of (0=first variable) Value: Value is set to the value of the variable Return value: The name of the variable, or empty string on failure This function retrieves the name of a variable. The first variable is variable zero (0). SBVariables.Count returns the number of variables defined. For example: VarName:=SBVariables.GetVarName(0, VarValue); function SetGlobalProperty(PropName, NewPropValue); PropName: The name of the property NewPropValue: The new value of the property Return value: The new value of the property (as a string) or an empty string on error This function sets a global property (setting) value. This is different from SetProperty and SetProfileProperty because those are used with profiles (the property is profile specific). Note that PropName must be a single property name. See GetGlobalProperty for retrieving global property values. If you want to store the value encrypted, see the SBSystem.EncryptString function. See DeleteGlobalProperty to delete global properties. Note that you cannot change internal SyncBack properties. function SetProfileProperty(ProfileName, PropName, NewPropValue); PropName: The name of the profile to delete the property from PropName: The name of the property NewPropValue: The new value of the property Return value: The new value of the property (as a string) or an empty string on error © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 420 This function sets a profile property (setting) value for a specific profile. It works the same way as SetProperty except a profile can be specified. See GetProfileProperty for retrieving property values from a specific profile and DeleteProfileProperty to delete properties from a speficic profile. If you want to store the value encrypted, see the SBSystem.EncryptString function. Note that you cannot change internal SyncBack properties. function SetProperty(PropName, NewPropValue); PropName: The name of the property NewPropValue: The new value of the property Return value: The new value of the property (as a string) or an empty string on error This function sets a profile property (setting) value. Note that PropName must be a single property name. See GetProperty for retrieving property values. See DeleteProperty to delete properties, and SetProfileProperty to set the property for a specific profile. Note that you cannot change internal SyncBack properties. If you want to store the value encrypted, see the SBSystem.EncryptString function. Note that this function will do nothing if called from a Main Interface script. You must use the SetProfileProperty function. function SetVar(VarName, NewVarValue); VarName: The name of the variable to set NewVarValue: The new value of the variable Return value: The new value of the variable (string) or an empty string on failure This function sets the value of a profile variable. Note that variables cannot be deleted. SBVariables.SetVar('MyVariable', 'The value'); See also GetVar procedure DeleteGlobalProperty(PropName); PropName: The name of the property to delete © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 421 SyncBackPro Help This subroutine deletes a global property (setting) value. This is different from DeleteProperty and DeleteProfileProperty because those are used with profiles (the property is profile specific). Note that PropName must be a single property name, and you cannot delete internal SyncBack properties. procedure DeleteProfileProperty(ProfileName, PropName); ProfileName: The name of the profile to delete the property from PropName: The name of the property to delete This subroutine deletes a profile property (setting) value from a specific profile. Note that PropName must be a single property name. Note that you cannot delete internal SyncBack properties. See also DeleteProperty procedure DeleteProperty(PropName); PropName: The name of the property to delete This subroutine deletes a profile property (setting) value. Note that PropName must be a single property name. Note that you cannot delete internal SyncBack properties. Note that this function will do nothing if called from a Main Interface script. You must use the DeleteProfileProperty function. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.15 SBHistory These are functions that can be accessed from scripts via the SBHistory object. They allow you to refer to a profiles history, e.g. when it was run, who ran it, what the result was, etc. The SBHistory.ProfileName property will already have been set for you unless you are using a Main Interface script, in which case you must set it yourself as appropriate. Once the profile name has been set you can get the number of history records available using SBHistory.RecordCount. The number of records available depends on how many times the profile has been run and the maximum history for that profile. Next you need to specify which © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 422 history record you want to get the values of. You can do this by setting SBHistory.RecordIndex. By default it is set to zero, which is the index of the oldest history record. When you've set the profile name and record index you can then get the history information, e.g. SBHistory.RunResult. The SBHistory object is accessible from Main Interface, Runtime and Profile Configuration scripts. All the example code below is written in using the Pascal scripting language. procedure Refresh; This subroutine refreshes the profiles history. Note that the RecordCount may have changed and the RecordIndex is reset to zero. Property AbortReason If the profile was aborted then this read-only property returns the reason why it was aborted. Ignore this value if the profile was not aborted. See RunResult for the profiles run result. Returns -1 on error or if the profile name has not been set. Property BackupType This read-only property returns the backup type. If the profile is a SmartSync profile, or was run as a restore, then ignore this value. If the profile is not a Fast Backup profile then it will also return that is was an incremental backup. Returns -1 on error or if the profile name has not been set. Property CloudContainer This read-only property returns the name of the cloud bucket/container that was used. If the cloud was not used then an empty string is returned. For the type of cloud service used see CloudType. Returns an empty string on error or if the profile name has not been set. Property CloudType This read-only property returns the type of cloud service used. If the cloud was not used then it will return 0. Returns -1 on error or if the profile name has not been set. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 423 SyncBackPro Help Property ComputerName This read-only property returns the name of the computer used to run the profile. For the name of the user see UserName. Returns empty string on error or if the profile name has not been set. Property DestDir This read-only property returns the destination/right directory used for the profile. If the directory was overridden, e.g. via the command line, then you can check this using IsDestOverride. Returns empty string on error or if the profile name has not been set. Property DestSerial This read-only property returns the destination drives volume serial number. There will not be a serial number if the profile used FTP, email, cloud, etc. Returns empty string on error or if the profile name has not been set. Property EmailHostname This read-only property returns the hostname of the SMTP email server used to backup files to. If the profile is making a backup of emails then it is the POP3/IMAP4 email server. If the profile does not use an email server then an empty string is returned. Returns empty string on error or if the profile name has not been set. Property ErrMsg If the profile failed because of a critical error then this read-only property contains the error message. See also RunResult. Property FTPHostname This read-only property returns the hostname of the FTP server used to copy files to and from. If the profile did not use an FTP server then an empty string is returned. Returns empty string on error or if the profile name has not been set. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 424 Property GroupName If the profile was run as part of a group then this read-only property returns the name of that group. See GroupStartTime to get the date & time when the group was started. Returns empty string on error or if the profile name has not been set. Property GroupStartTime This read-only property is the date & time when the profiles parent group was started. To get the name of the group see GroupName. Returns 1.0 on error or if the profile name has not been set. It also returns 1.0 if the profile was not run as part of a group. See also ProfileStartTime IMPORTANT: The date & time is in the GMT/UTC timezone. Use SBSystem.GMTToLocal to convert it to your local timezone. Property Is64Bit This read-only property returns TRUE if the version of Windows that ran the profile was 64-bit. To get the version of Windows use WindowsVersion. Returns FALSE on error or if the profile name has not been set. Property IsDestOverride If the destination/right folder was overridden, e.g. via the command line, then this read-only property will return TRUE. Returns FALSE on error or if the profile name has not been set. Property IsRestore If the profile was run as a Restore then this property returns TRUE. Returns FALSE on error or if the profile name has not been set. Property IsSourceOverride If the source/left folder was overridden, e.g. via the command line, then this read-only property will return TRUE. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 425 SyncBackPro Help Returns FALSE on error or if the profile name has not been set. Property ProfileName This property is used to set and return the name of the profile the history is for. If it has not been set then an empty string is returned. The profile name must be set before you can use any other function or properties in the SBHistory object. Note that the profile name will have been set automatically unless it is a main interface script. If you set the profile name to what it already is then nothing will happen. The history data is cached, so to refresh it you must call Refresh Property ProfileStartTime This read-only property is the date & time when the profile started running. It is different from ThreadStartTime because the ProfileStartTime may never be set. Returns 1.0 on error or if the profile name has not been set. It also returns 1.0 if the profile never started. See also GroupStartTime IMPORTANT: The date & time is in the GMT/UTC timezone. Use SBSystem.GMTToLocal to convert it to your local timezone. Property ProfileType This read-only property returns the type of profile. Returns -1 on error or if the profile name has not been set. Property RecordCount This read-only property returns the number of history records there are for the profile. If the profile name has not yet been set (see ProfileName) then -1 is returned. If there is no profile history then 0 is returned. Records are numbered from 0 (which is the oldest history record) upto RecordCount - 1 (which is the newest history record). Use the RecordIndex property to change the current history record. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 426 Property RecordedInSBM This read-only property returns TRUE if the history has been recorded in the SyncBack Management Service. Returns FALSE on error or if the profile name has not been set. Property RecordIndex This property is used to set and return the index number of the current history record for the profile. When a profile name is set (see ProfileName) then current index is set to 0, i.e. the oldest history record for the profile. If the profile name has not been set, or there is no profile history, then -1 is returned. A record index can range from 0 to RecordCount - 1, i.e. the record list is zero based. If you attempt to set an invalid record index then it is ignored. Property RunResult This read-only property is the result of the profile run. See also ErrMsg for any critical error message. If the profile was aborted then see AbortReason for the reason it was aborted. Returns -1 on error or if the profile name has not been set. Property SourceDir This read-only property returns the source/left directory used for the profile. If the directory was overridden, e.g. via the command line, then you can check this using IsSourceOverride. Returns empty string on error or if the profile name has not been set. Property SourceSerial This read-only property returns the source drives volume serial number. There will not be a serial number if the profile used FTP, email, cloud, etc. Returns empty string on error or if the profile name has not been set. Property ThreadStartTime This read-only property is the date & time when the profile was prepared so it would be ready to be run when needed. It is different from ProfileStartTime because the ProfileStartTime may © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 427 SyncBackPro Help never be set. For example, if a profile is run as part of a group then the profile may never start because a previous profile in the group may be aborted. In that case the ProfileStartTime is not set, but the ThreadStartTime always is. So the ProfileStartTime is when the profile actually started running (if at all). IMPORTANT: The date & time is in the GMT/UTC timezone. Use SBSystem.GMTToLocal to convert it to your local timezone. Returns 1.0 on error or if the profile name has not been set. See also GroupStartTime. Property UserName This read-only property returns the users Windows login username. For the name of the computer see ComputerName. Returns empty string on error or if the profile name has not been set. Property WindowsVersion This read-only property returns the version of Windows used to run the profile. To see if the version of Windows was 64-bit see Is64Bit. Returns -1 on error or if the profile name has not been set. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.16 Constants A number of constants are available. Abilities The following are location abilities. Note that some of these cannot be returned by LocAbilities: CAN_WINDOWSFOLDERS = Does the location use Windows folders? Cannot be used by LocAbilities() CAN_COPYDIRATTRS = Can the directory attributes and date & times be copied to a new directory? Cannot be used by LocAbilities() CAN_COPYSECURITY = Can the file/folder NTFS security be copied? Cannot be used by LocAbilities() © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 428 CAN_USEBACKUPAPI = Can the BackupRead/BackupWrite API's be used? Cannot be used by LocAbilities() CAN_USEMD5 = Can use MD5 hashing? This is used for verification and file integrity checking. CAN_USEATTRIBUTES = Do files/folders have Windows attributes? See also CAN_NTFSATTRIBUTES CAN_EXACTDATETIME = Are dates & times stored exactly (including milli-seconds)? CAN_HASLASTACCESS = Can a file/folder last access date & times be stored? Introduced in SyncBackPro V10. CAN_CHANGEDATETIME = Can file/folder date & times be changed? CAN_SINGLEZIP = Are all the files stored in a single Zip file? Cannot be used by LocAbilities() CAN_HAVEEMPTYPATH = Can the base path be empty? CAN_STOREDONWINDOWS = Is the location on a Windows filesystem? e.g. a drive or UNC path. Cannot be used by LocAbilities() CAN_VERSION = Does the location support versioning? CAN_DIRECTACCESS = Are files stored on a Windows filesystem uncompressed etc? Cannot be used by LocAbilities() CAN_NTFSATTRIBUTES = Files & folders have NTFS extended attributes? CAN_WRITEONCE = Write-once, meaning cannot read from it only write to it, e.g. split zip CAN_MOVE_FILES = Can files be moved/renamed? CAN_USECRC32 = Can use CRC32 hashing? CAN_MOVE_FOLDERS = Can folders be moved/renamed? CAN_PREFERRED_FILECASE = It is better to use the case of files on this location CAN_PREFERRED_FOLDERCASE = It is better to use the case of folders on this location CAN_CANNOT_COPYTO = Files cannot be copied to this location, but can be deleted from it, e.g. backup of email CAN_VIRTUALFOLDERS = Folders are virtual and not real so they should not be created, deleted, or renamed, e.g. cloud CAN_RESUME_TRANSFER = Can the location resume a broken file transfer if the profile is run again? CAN_CHANGE_FILEATTRS = Can file attributes be changed? CAN_CHANGE_FOLDERATTRS = Can folder attributes be changed? CAN_CHANGE_CACHEDSIZE = Can file size be changed? Cloud only. This is used with cloud caching. Cannot be used by LocAbilities() CAN_CHANGE_CACHEDHASH = Can file hash be changed? Cloud only. This is used with cloud caching. Cannot be used by LocAbilities() CAN_USESHA1 = Can use SHA1 hashing? This is used for verification and file integrity checking. CAN_USESHA256 = Can use SHA256 hashing? This is used for verification and file integrity comparison. CAN_USESHA512 = Can use SHA512 hashing? This is used for verification and file integrity comparison. AbortReason The following are the reasons why a profile was aborted: EAR_User = User chose to stop this profile EAR_Timeup = Profile has run out of time (ELR_TimeLimit) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 429 SyncBackPro Help EAR_ProgramClose = SyncBack is closing EAR_StopAllProfiles = User wants to stop all the profiles EAR_WindowsShutdown = Profiles are stopping because of Windows shutdown EAR_StoppingGroup = Stopping because it's part of a group that is being stopped EAR_Script = Aborted by a script EAR_TooManyDeletes = Too many files will be deleted (ELR_TooManyDeletes) EAR_TooManyUpdates = Too many files will be updated (ELR_TooManyUpdated) EAR_TooManyCopies = Too many files will be copied/moved (ELR_TooManyCopies) EAR_AlreadyRunning = The profile was already running EAR_UserOther = User chose to stop this profile (from another process) EAR_TooManyUpdates = Too many files will be updated (ELR_TooManyUpdates) EAR_UserRemote = User chose to stop this profile using SyncBack Monitor EAR_UserRemoteOther = User chose to stop this profile using SyncBack Monitor (from another process) Actions The following are actions that can be performed on files and folders (note that many of these cannot be used with folders): CACTION_ERROR = Skip the file - there was an error CACTION_SKIP_ONCE_UPD = Do nothing, skip/ignore the file. SmartSync data is updated. CACTION_COPY_TOSOURCE = Copy from destination to the source CACTION_COPY_TODEST = Copy from source to the destination CACTION_DELSOURCE = Delete from source CACTION_DELDEST = Delete from destination CACTION_DELBOTH = Delete source & destination CACTION_MISSING_PROMPT = A file is in source or destination, but not both, prompt the user CACTION_DETAILS_PROMPT = Contents same, but attributes and/or date & time changed, prompt the user CACTION_BOTH_PROMPT = The file has changed in both, prompt the user CACTION_USE_SRC_DETAILS = Use the file attributes, security, filename case, and/or date & time from the source CACTION_USE_DEST_DETAILS = Use the file attributes, security, filename case, and/or date & time from the destination CACTION_MOVE_TOSOURCE = Move from destination to the source CACTION_MOVE_TODEST = Move from source to the destination CACTION_UNCHANGED = The file is actually unchanged (for Fast Backup only) CACTION_RENAME_SOURCE = Rename the source file (for SmartSync only when FILES HAVE BEEN RENAMED) CACTION_RENAME_DEST = Rename the destination file (for SmartSync only when FILES HAVE BEEN RENAMED) CACTION_SKIP_ALWAYS = Same as CACTION_SKIP_ONCE_NOUPD except selections updated so file is unselected CACTION_SKIP_ONCE_NOUPD = Do nothing, skip/ignore the file. SmartSync/Cloud database is NOT updated. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 430 BackupType The following are profile backup types: ERBT_Unknown = Unknown ERBT_Full = Full ERBT_Incremental = Incremental ERBT_Differential = Differential CloudType The following are cloud service types: ECT_Unknown = Unknown ECT_S3 = Amazon S3 or compatible, e.g. Google Storage ECT_Azure = Microsoft Azure or compatible ECT_Dropbox = Dropbox ECT_GDrive = Google Drive ECT_SkyDrive = Microsoft OneDrive (personal) ECT_Box = Box ECT_SugarSync = SugarSync ECT_Office365 = Sharepoint and OneDrive for Business ECT_Rackspace = Rackspace/Openstack ECT_Backblaze = Backblaze ECT_GoogleStorage = Google Storage ECT_hubiC = hubiC (Openstack) ECT_WebDAV = WebDAV ECT_Egnyte = Egnyte ECT_ShareFile = ShareFile Differences The following are differences. Note that the values can be or'ed together if there is more than one difference: CDIFF_IDENTICAL = Skipped because of settings or files are identical CDIFF_SIZE = Different sizes, does not apply to directories CDIFF_HASH = Different hash values, does not apply to directories CDIFF_MODDATETIME = Different modification date & time CDIFF_DESTONLY = In destination only CDIFF_SRCONLY = In source only CDIFF_ATTRIB = Different attributes CDIFF_VERSION = Only the versions exist (will show in Differences window), does not apply to directories CDIFF_CASE = File case is different CDIFF_CREATEDATETIME = Different creation date & time CDIFF_ACCESSDATETIME = Different last access date & time CDIFF_NTFSSEC = Different NTFS security © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 431 SyncBackPro Help ExactProfileTypes The following are exact profile types: EPTError = Error EPTUnknown = Unknown profile type EPTCustom = Custom EPTBackupFromSrc = Backup from source to destination EPTBackupFromDest = Backup from destination to source EPTOldSync = Basic Sync EPTSync = Intelligent Sync EPTGroup = Group EPTMirrorRight = Mirror from source to destination EPTMirrorLeft = Mirror from destination to source FileAttributes The following are standard Windows file attributes: FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_DIRECTORY FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_DEVICE FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_TEMPORARY FILE_ATTRIBUTE_SPARSE_FILE FILE_ATTRIBUTE_REPARSE_POINT FILE_ATTRIBUTE_COMPRESSED FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_NOT_CONTENT_INDEXED FILE_ATTRIBUTE_ENCRYPTED FILE_ATTRIBUTE_VIRTUAL FILE_ATTRIBUTE_INTEGRITY_STREAM FILE_ATTRIBUTE_NO_SCRUB_DATA INVALID_FILE_ATTRIBUTES IgnoredReason The following are reasons why a file or folder is ignored: EIRUnknown = Unknown EIRNotSelected = Not selected in folder & file selectin tree EIRDoesNotExist = File/folder does not exist EIRJunctionPoint = Is a junction point and settings say they are to be ignored © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 432 EIRNewFolder = A new folder and parent folder settings say new folders are to be ignored EIRNewFile = A new file and parent folder settings say new files are to be ignored EIRFiltered = Filtered out due to filter settings EIRNotZipFile = File is not a Zip file (when multi-zip and a non-zip file is found) EIRError = Skipped due to error EIRNotModifiedWithin = Wasn't modified within the required time EIRSizeOutOfBounds = File size is too small or too large EIRIdentical = The source & destination file are the same EIRAdvancedSetting = Many reasons, e.g. in destination but not source EIRNotOldEnoughToDelete = Old file (only in source or dest) not deleted as it's not old enough EIRCannotModifySource = Source cannot be modified, e.g. Fast Backup EIROtherFileNewer = The destination file is newer so cannot be replaced EIRCannotReplaceReadOnly = The destination file is read-only so cannot be replaced EIRCannotDelReadOnly = The destination file is read-only so cannot be deleted EIRCannotMoveCopyReadOnly = Source is read-only so cannot be copied EIRCannotMoveCopyNotAttrib = Source file does not have archive attribute set so cannot be copied EIRCannotMoveCopyHidden = Source file has hidden attribute set so cannot be copied EIRCannotMoveCopySystem = Source file has system attribute set so cannot be copied EIRDST = Not copied due to DST time difference EIRSameSize = Files same size EIRScript = Ignored by script EIRCannotMoveCopyOffline = Source file has offline attribute set so cannot be copied EIRCannotMoveCopyEncrypted = Source file has encrypted attribute set so cannot be copied EIRCannotModifyDest = Destination cannot be modified EIRSameTime = Files same date & time EIRReplacingWithEmpty = Trying to replace a non-empty file with an empty file EIRNotCreatedWithin = Wasn't created within the required time EIRCannotMoveCopyTemp = File to be copied has temporary file attribute set so cannot be copied ProfileTypes The following are profile types: ptInvalid = Invalid profile type ptProfile = Normal profile ptGroup = Group profile Results The following are profile run results: ELR_None = No result ELR_UnknownProfile = Unknown profile ELR_AlreadyRunning = Profile is already running ELR_Imported = Profile has been imported and not run yet © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 433 SyncBackPro Help ELR_Running = Profile is running ELR_InternalError = Internal error ELR_SimAborted = Simulated run was aborted ELR_SimFailed = Simulated run failed ELR_SimSuccess = Simulated run was a success ELR_RestAborted = Restore was aborted ELR_RestFailed = Restore failed ELR_RestSuccess = Restore was a success ELR_Aborted = Run was aborted ELR_AbortedRemote = Run was aborted (remotely) ELR_Failed = Run failed ELR_Success = Run was a success ELR_NetFailed = Failed due to network connection ELR_ScanFailed = Failed because left or right could not be scanned ELR_CompFailed = Failed because the left and right could not be compared ELR_RunBeforeFailed = Run failed because Run Before program stopped profile ELR_Disabled = Run failed because profile is disabled ELR_SMARTFailed = Run failed because drive errors were found ELR_EmailFailed = Run failed because the log could not be emailed ELR_SnapshotFailed = Run failed because the Volume Shadow Copy service failed ELR_TimeLimit = Profile was aborted because it reached its run-time limit ELR_TooManyDeletes = Profile was aborted because too many files would be deleted ELR_TooManyUpdates = Profile was aborted because too many files would be updated ELR_TooManyCopies = Profile was aborted because too many files would be copied/moved ELR_IntegrityCheckAborted = Integrity check run was aborted ELR_IntegrityCheckFailed = Integrity check run failed ELR_IntegrityCheckSuccess = Integrity check run was a success ELR_RansomwareProtection = Ransomware Protection TBingVoice The following are Bing voices: bv_Local = Uses local Windows COM Speech bv_ArabicEgyptFemale = ar-EGFemaleHoda bv_ArabicSaudiArabiaMale = ar-SAMaleNaayf bv_BulgarianBulgariaMale = bg-BGMaleIvan bv_CatalanSpainFemale = ca-ESFemaleHerenaRUS bv_DanishDenmarkFemale = da-DKFemaleHelleRUS bv_GermanAustriaMale = de-ATMaleMichael bv_GermanSwitzerlandMale = de-CHMaleKarsten bv_GermanGermanyFemale = de-DEFemaleHedda bv_GermanGermanyFemale2 = de-DEFemaleHeddaRUS bv_GermanGermanyMale = de-DEMaleStefan, Apollo bv_GreekGreeceMale = el-GRMaleStefanos bv_EnglishAustraliaFemale = en-AUFemaleCatherine bv_EnglishAustraliaFemale2 = en-AUFemaleHayleyRUS bv_EnglishCanadaFemale = en-CAFemaleLinda bv_EnglishCanadaFemale2 = en-CAFemaleHeatherRUS © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 434 bv_EnglishBritainFemale = en-GBFemaleSusan, Apollo bv_EnglishBritainFemale2 = en-GBFemaleHazelRUS bv_EnglishBritainMale = en-GBMaleGeorge, Apollo bv_EnglishIndiaFemale = en-INFemaleHeera, Apollo bv_EnglishIndiaFemale2 = en-INFemalePriyaRUS bv_EnglishIndiaMale = en-INMaleRavi, Apollo bv_EnglishUnitedStatesFemale = en-USFemaleZiraRUS bv_EnglishUnitedStatesFemale2 = en-USFemaleJessaRUS bv_EnglishUnitedStatesMale = en-USMaleBenjaminRUS bv_SpanishSpainFemale = es-ESFemaleLaura, Apollo bv_SpanishSpainFemale2 = es-ESFemaleHelenaRUS bv_SpanishSpainMale = es-ESMalePablo, Apollo bv_SpanishMexicoFemale = es-MXFemaleHildaRUS bv_SpanishMexicoMale = es-MXMaleRaul, Apollo bv_FinnishFinlandFemale = fi-FIFemaleHeidiRUS bv_FrenchCanadaFemale = fr-CAFemaleCaroline bv_FrenchCanadaFemale2 = fr-CAFemaleHarmonieRUS bv_FrenchSwitzerlandMale = fr-CHMaleGuillaume bv_FrenchFranceFemale = fr-FRFemaleJulie, Apollo bv_FrenchFranceFemale2 = fr-FRFemaleHortenseRUS bv_FrenchFranceMale = fr-FRMalePaul, Apollo bv_HebrewIsraelMale = he-ILMaleAsaf bv_HindiIndiaFemale = hi-INFemaleKalpana, Apollo bv_HindiIndiaFemale2 = hi-INFemaleKalpana bv_HindiIndiaMale = hi-INMaleHemant bv_CroatianCroatiaMale = hr-HRMaleMatej bv_HungarianHungaryMale = hu-HUMaleSzabolcs bv_IndonesianIndonesiaMale = id-IDMaleAndika bv_ItalianItalyMale = it-ITMaleCosimo, Apollo bv_JapaneseJapanFemale = ja-JPFemaleAyumi, Apollo bv_JapaneseJapanMale = ja-JPMaleIchiro, Apollo bv_JapaneseJapanFemale2 = ja-JPFemaleHarukaRUS bv_JapaneseJapanFemale3 = ja-JPFemaleLuciaRUS bv_JapaneseJapanMale2 = ja-JPMaleEkaterinaRUS bv_KoreanKoreaFemale = ko-KRFemaleHeamiRUS bv_MalayMalaysiaMale = ms-MYMaleRizwan bv_NorwegianNorwayFemale = nb-NOFemaleHuldaRUS bv_DutchNetherlandsFemale = nl-NLFemaleHannaRUS bv_PolishPolandFemale = pl-PLFemalePaulinaRUS bv_PortugueseBrazilFemale = pt-BRFemaleHeloisaRUS bv_PortugueseBrazilMale = pt-BRMaleDaniel, Apollo bv_PortuguesePortugalFemale = pt-PTFemaleHeliaRUS bv_RomanianRomaniaMale = ro-ROMaleAndrei bv_RussianRussiaFemale = ru-RUFemaleIrina, Apollo bv_RussianRussiaMale = ru-RUMalePavel, Apollo bv_SlovakSlovakiaMale = sk-SKMaleFilip bv_SlovenianSloveniaMale = sl-SIMaleLado bv_SwedishSwedenFemale = sv-SEFemaleHedvigRUS bv_TamilIndiaMale = ta-INMaleValluvar bv_ThaiThailandMale = th-THMalePattara © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 435 SyncBackPro Help bv_TurkishTurkeyFemale = tr-TRFemaleSedaRUS bv_VietnameseVietnamMale = vi-VNMaleAn bv_ChineseChinaFemale = zh-CNFemaleHuihuiRUS bv_ChineseChinaFemale2 = zh-CNFemaleYaoyao, Apollo bv_ChineseChinaMale = zh-CNMaleKangkang, Apollo bv_ChineseHongKongFemale = zh-HKFemaleTracy, Apollo bv_ChineseHongKongFemale2 = zh-HKFemaleTracyRUS bv_ChineseHongKongMale = zh-HKMaleDanny, Apollo bv_ChineseTaiwanFemale = zh-TWFemaleYating, Apollo bv_ChineseTaiwanFemale2 = zh-TWFemaleHanHanRUS bv_ChineseTaiwanMale = zh-TWMaleZhiwei, Apollo TIntegrityType The following are file integrity types: EIT_None = None EIT_CRC32 = CRC32 hash value EIT_MD5 = MD5 hash value EIT_SHA1 = SHA1 hash value EIT_SHA256 = SHA256 hash value EIT_SHA512 = SHA512 hash value EIT_ETAG = Cloud ETAG value TVerStoreType The following are file version types: EVTOldUncompressed EVTOldCompressed EVTNewUncompressed EVTNewCompressed EVTUnknown EVTNativeFormat EVTDeltaBaseFile EVTDeltaHashFile EVTDeltaPatchFile EVTDeltaCurHashFile EVTDeltaCurPatchFile Windows The following are the versions of Windows: wvUnknown = Unknown wvWin2000 = Windows 2000 - 5.0 (build 2195) - not supported wvWinXP = Windows XP - 5.1 (build 2600) - not supported © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 436 wvWin2003 = Windows 2003 - 5.2 (also 2003 R2, Home Server, and XP Pro x64) (build 3790) - not supported wvVista = Windows Vista - 6.0 (build 6000..6002) wvWindows2008 = Windows 2008 - 6.0 (build 6001..6002) wvWindows7 = Windows 7 - 6.1 (build 7600..7601) wvWindows2008R2 = Windows 2008 R2 - 6.1 (build 7600..7601) wvWindows8 = Windows 8 - 6.2 (build 9200) wvWindows2012 = Windows 2012 - 6.2 (build 9200) wvWindows81 = Windows 8.1 - 6.3 (build 9600) wvWindows2012R2 = Windows 2012 R2 - 6.3 (build 9600) wvWindows10 = Windows 10 - 10.0 (build 10240...) wvWindows2016 = Windows 2016 - 10.0 (build < 17763) wvWindows2019 = Windows 2019 - 10.0 (build >=17763) wvWindows11 = Windows 11 - 10.0 (build 22000...) All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.17 Functions A number of built-in scripting functions are available. See also Script Classes. function CopyFile(FromFilename, ToFilename); FromFilename: The file to copy ToFilename: The destination filename Return value: On success 0 is returned, else a windows error code. This function copies a file using SyncBack's internal copying routine (which gives progress feedback in the user interface). See also SysErrorMessage. function Escape(ToEscape); ToEscape: The string to escape Return value: The escaped string Equivalent to the VBScript Escape method (for escaping strings to they can be passed in a URL). For an example, see SendResultViaTwitter.bas © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 437 SyncBackPro Help function GetObject(Pathname); Pathname: The class required Return value: The class requested Equivalent to the VBScript GetObject method, but with only one parameter. For examples, see WaitForFinishEx.bas and CreateRestorePoint.bas function SysErrorMessage(WinErrCode); WinErrCode: The windows error code Return value: Returns the Windows error message for the error code Returns the Windows error message for the Windows error code. function VarToInt64(ToConvert); ToConvert: The variable to convert to a 64-bit integer Return value: A 64-bit integer, or 0 if the variable cannot be converted This function converts values returned from scripting components to 64-bit integers. For example, use it with the Files property in FileSystemObject on the file size. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.18 Classes A number of built-in scripting classes are available. See also Script Functions. All the example code below is written in using the Pascal scripting language. Class TEnumVariant TEnumVariant is a helper class for collections, e.g. FileSystemObject.Drives Create the object by passing the collection. Then you call ForEach to get each item in the collection. For example: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 438 // // Return the list of drives // DrivesEnum:=TEnumVariant.Create(gFSO.Drives); try while DrivesEnum.ForEach(DiskDrive) do begin If (DiskDrive.IsReady = TRUE) then If not SBLocation.AddDir(DiskDrive.DriveLetter) then Exit; end; finally DrivesEnum.Free; end; See the AllDrives.pas example script for an example. Class TStringList This class is for storing lists of strings. For more information refer to the Delphi help entry for TStringList. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.1.19 Example Scripts SyncBackPro comes with a number of example scripts. There are also some example scripts online: https://www.2brightsparks.com/syncback/scripts/ If you've created a script that you think other people could use please visit the above page to submit it. · AllDrives: This is a location script which gives access to all the drives on a computer. This means you could use it as your source or destination, set the base directory to \, and then choose files and folders from multiple drives. · ChangeIdentical: This is a runtime script which changes the difference for a file so that if it is considered the same then it is instead changed to appear to only be on the source. · CompressCopy: This is a runtime script which will NTFS compress the copies of files if the original file was also NTFS compressed. This should only be used in profiles that copy to and from NTFS partitions. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 439 SyncBackPro Help · CreateRestorePoint: This is a runtime script which creates a system restore point in Windows whenever the profile is run. · DecryptCopy: This is a runtime script which will remove the NTFS (EFS) encryption from the copy of files. For example, you may have a profile that does a backup from one NTFS partition to another, but you may not want the backup copies to be encrypted. This should only be used in profiles that copy to NTFS partitions. See also the EncryptCopy script. · DiffExport: This is a runtime and configuration script which exports the differences between the files and folders. It is comma delimited so can be imported into other software, e.g. a spreadsheet. · DiffPrompt: This is a runtime script which adds a voice prompt to the Differences window. Note that after installing it you must configure your profiles to use the script. · DiffWindow: This is a runtime script which adds extra columns to the Differences window. Note that after installing it you must configure your profiles to use the script. · EncryptCopy: This is a runtime script which will NTFS encrypt the copies of files. For example, you may have a profile that does a backup from one NTFS partition to another, and want the backup copies to be NTFS encrypted. This should only be used in profiles that copy to NTFS partitions. See also the DecryptCopy script. · ExtraInfo: This is both a runtime and main interface script. It adds a column to the main interface that shows how many files were copied, deleted, etc. in the last profile run. Note that after installing it you must both enable it (as a main interface script) and also configure your profiles to use the script. · History: This is a main interface script that adds a column to the main interface showing how much history information there is for a profile. The purpose of this example is to demonstrate how to reduce overhead. · IncVar: This is a runtime script that shows how to create and use your own variables in a profile, and also how to set when a rescan for a Fast Backup profile should be performed. Edit the script before using it, or use the IncVarEx script instead. · IncVarEx: This is the same as the IncVar script, except you can configure it from the profile setup window, so there is no need to edit the script file itself. · MOTD: This is a main interface script that shows a "Message of the day". Edit the script before using it. · OncePerDay: This is a runtime script that shows how to restrict a profile so that it can only be run at most once per day. You may want to use OncePerDayEx instead as it lets you see if the profile has already run today. · OncePerDayEx: This is the same as the OncePerDay script, except you can also see if the profile has already run from the profile setup window. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 440 · OnlyYesterday: This is a runtime script that ignores any files if the source file has not been modified yesterday. The script is not used if it is a Restore. · PreCopyExample: This is a runtime and configuration script that stops a profile from running if a user defined number of files are being copied and/or moved. The script is not used if it is a Restore. · SBConstants: This is simply a definition file defining all the constants. · SendResultViaSMS: This is a runtime script the sends an SMS if a profile fails. Edit the script before using it or use the SendResultViaSMSEx script instead. · SendResultViaSMSEx: This is the same as the SendResultViaSMS script, except you can configure it from the profile setup window, so there is no need to edit the script file itself. · SendResultViaTwitter: This is a runtime script the sends a Twitter message after a profile run. Edit the script before using it, or use the SendResultViaTwitterEx script instead. Note: Twitter have since changed their authentication method so this script no longer works and is provided for reference only. · SendResultViaTwitterEx: This is the same as the SendResultViaTwitter script, except you can configure it from the profile setup window, so there is no need to edit the script file itself. Note: Twitter have since changed their authentication method so this script no longer works and is provided for reference only. · StripZeros: This is a runtime script that shows how to create and use your own variables in a profile. In this example two new variables are created: %NoZeroDay% and % NoZeroMonth%. They are the same as %DAY% and %MONTH% except the leading zero is not included. · WaitForFinish.: This is a runtime script that stops a profile from starting until a program has finished (or isn't running). Edit the script before using it or use the WaitForFinishEx script instead. · WaitForFinishEx: This is the same as the WaitForFinish script, except you can configure it from the profile setup window, so there is no need to edit the script file itself. · TranslateExample.vbs: This script shows how you can internationalize the messages displayed by your script. · Versioning.vbs: This is a main interface script that adds a column to the main interface showing if a profile is using versioning. The purpose of this example is to demonstrate how to add columns to the main user interface that show extra information about a profiles settings. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 441 SyncBackPro Help 3.5.1.20 Converting VBScript to Basic SyncBackPro V8 introduced a new scripting engine that supports both Basic and Pascal. Although the new Basic scripting language is very similar to VBScript, it is not identical. Although 32-bit SyncBackPro still supports the old VBScript scripting, the 64-bit version of SyncBackPro cannot use VBScript scripting due to limitations in the 64-bit versions of Windows. Therefore if you want your Basic scripts to work in both the 32-bit and 64-bit versions of SyncBackPro then they need to be converted to the new Basic scripting language (or the new Pascal scripting language). The example scripts that are distributed with SyncBackPro have already been converted to the new Basic scripting language. Below are some tips on how to convert your VBScript scripts to the new Basic language scripts: · Change the script filename extension from .VBS to .BAS · In the header of the script change SBLang=VBScript to SBLang=Basic · You cannot use ForEach. Instead you must use TEnumVariant.Create, e.g.: FoldersEnum:=TEnumVariant.Create(Folder.SubFolders); try while FoldersEnum.ForEach(SubFol) do begin If not SBLocation.AddDirEx2(SubFol.Name, SubFol.Attributes, SubFol.DateLastModified, SubFol.DateCreated, '') then Exit; end; finally FoldersEnum.Free; end; · You must use brackets with calls to sub-routines that have arguments (just as you must already do with functions). · When declaring functions or sub-routines, and there are no arguments, then don't use brackets, e.g. Sub RunAfterConfig() - This is wrong Sub RunAfterConfig - This is correct · When declaring functions or sub-routines, and there are variable arguments (non-constant), then prefix them with var, e.g. Sub RunAfterConfig(constvar1, variablevar2) - This is wrong Sub RunAfterConfig(constvar1, var variablevar2) - This is correct © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 442 · When calling functions or sub-routines that have no parameters, don't use empty brackets, e.g.: RunAfterConfig() - This is wrong RunAfterConfig - This is correct · Variables do not need to be declared first but you must declare (or initialize) a variable if it is first set in the parameters on a call to a function or sub-routine. · You cannot combine lines using an underscore (_) on the end of the line. Simply delete the underscores at the end of lines. · You can't have: DO ' Code LOOP You must end with LOOP WHILE 1=1, for example. · Don't put comments after IF statements on the same line: If SBProfile.GetCheckbox(3) Then ' THIS WILL CAUSE AN ERROR If SBProfile.GetCheckbox(3) Then ' THIS IS OK VBScript functions To help with compatibility with VBScript, the following functions are available in Basic scripts (refer to the MSDN documentation for the explanation of each function): Asc Atn CBool CByte CCur CDate CDbl Cint CLng CreateObject CSng CStr DatePart DateSerial DateValue Day © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 443 SyncBackPro Help Fix FormatCurrency FormatDateTime FormatNumber Hex Hour InputBox InStr Int IsArray IsDate IsEmpty IsNull IsNumeric LBound LCase Left Len Log LTrim Mid Minute Month MonthName MsgBox Replace Right Rnd RTrim Second Sgn Space StrComp String Timer TimeSerial TimeValue UBound UCase Weekday WeekdayName Year All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 444 3.5.2 Technical Support Wizard If after reviewing the help file and online support resources you continue to experience difficulties using SyncBackPro, you may submit a support ticket. When submitting a ticket for technical assistance please make sure you have done the following first: · Take a look at the extensive Help file (within the program press F1 at any time for context sensitive help). · Search our Knowledge Base to see if the question has already been asked and answered. · Search the forums to see if someone else has asked the same question. · You should also check to see if you are using the latest version of the program, and if not, update your profile and test again. If you still need further support then include the following information at a minimum: · Which operating system you are using, e.g. Windows 11 64-bit · Which version of the software you are using, e.g. SyncBackPro V10.1.2.0 · Describe how to reproduce the problem. If we can reproduce the problem then it makes things much simpler. · If your user interface is not in English then please change the language to English. This can be done via the burger main menu . This will ensure the logs and error messages are in English, which is the only language in which we currently provide technical support. · With SyncBackPro you can have it create a Support Zip file on your desktop containing the profile, its log files, and other information via Support -> Technical Support Wizard in the main window. You can then attach that Support Zip file to the support ticket. See the section below for details. · If there are any error messages in the log file then copy and paste them into the support ticket. This is very important. Without knowing what the error is, we cannot help. If you use the Technical Support Wizard then there is generally no need to do this for information generated by SyncBackPro, as the information will normally be in the Support Zip file. · If any error messages appear on screen (for example, Windows error messages), state what the error message was. Better still, provide a screenshot. · If the problem is with an FTP server, then state which kind of FTP server you are using. Try using another FTP client program, with the same FTP settings to see if it is a network or FTP server problem. It will also reduce the time it takes to resolve the problem if you attach the debug file (see below). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 445 SyncBackPro Help · If the problem is with emailing, then state which kind of email server you are using. Try using another email client program with the same email settings to see if it is a network or email server problem. It will also reduce the time it takes to resolve the problem if you attach the debug file (see below). Please remember that we can only work with the information you provide. If you provide little information then there is little we can do to resolve the problem. Technical Support Wizard The Technical Support Wizard creates a special file that provides the essential information we require when you submit your ticket. SyncBackPro is capable of outputting detailed debug information to a file. This debug information can then be used by technical support personnel to help them locate where the problems are: · Run SyncBackPro · If your user interface is not in English then please change the language to English. This can be done via the burger main menu . This will ensure the logs and error messages are in English, which is the only language in which we currently provide technical support. · Select Output debug information from Preferences via the burger main menu . When there is a tick/check mark next to Output Debug Information then debug information will be created.The status bar should change to reflect this mode, also with RAM & CPU statistics displayed. You can enable flushing by enabling the option Flush the debug log. Flushing ensures all debug output is written to the disk immediately and not cached. · Run your profile or perform the task asked of you by technical support personnel. You must re-run the profile (etc) after setting Output Debug Info (it is the new run of the profile that generates the info as it runs - it is not 'retrospective') · Once the profile has finished, or the task completed, immediately select Support > Technical Support Wizard from the main menu. Do not edit the profile or perform any other task as this may delete or invalidate the debug information: · Select the profile from the drop-down list and click the Create button: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 446 · Once the technical support file has been created (it may takes minutes) an informational window will open showing where the support zip file has been saved to: · The Technical Support Wizard will create a special zip file that contains the settings, logs, debug information, etc. that relates to the selected profile. The Support Zip File created by the wizard may then be attached to a Support Ticket. Note that the Zip file produced is in a special format that is not readable by Windows File Explorer or many other Zip programs. You should not attempt to modify the Zip file or its contents otherwise it may become corrupted. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 447 SyncBackPro Help · Submit a support ticket and attach the Zip file created. Please do not extract/send just the debug log/s alone - there is important background information in the Support Zip (for example, your settings). After providing the debug file you are advised to switch off debug output as it degrades performance. To do this simply run SyncBack and uncheck Output debug information from Preferences via the burger main menu . Do not enable the option "Maximum Compression" unless you are asked to by 2BrightSparks support staff or the Zip file being produced (without using this option) is very large. It is not available if there is not enough free memory. Even if it is available, it may still fail due to lack of free memory. Debug Logs Debug logs are text files that are stored in the same folder as your profile settings. The folder in which profiles are stored is defined using Global Settings. 3.5.3 All Content: 2BrightSparks Pte Ltd © 2003-2021 32-bit vs 64-bit There are two versions of SyncBackPro and SyncBackSE: the 64-bit version and the 32-bit version. SyncBackFree is only available as a 32-bit version. There are important differences between them (explained below). If you are unsure which version to use, you should continue to use the standard 32-bit version. · Do not use both: You should not have both the 32-bit and 64-bit versions installed at the same time on the same computer. Having both versions installed will cause issues. · Migrating: To switch from one version to another you should export your profiles, uninstall the old version, install the new version and then import your profiles. · Windows: The 32-bit version can be used on 32-bit and 64-bit versions of Windows. The 64-bit version can only be used on 64-bit versions of Windows. Refer to the Microsoft documentation to see which version of Windows you are using. · Compatibility: The 32-bit version is compatible with older versions of SyncBack. This means, if you are upgrading from V7 or earlier, then there will be no issues. The 64-bit version of SyncBackPro cannot use VBScript scripting. You must convert your VBS scripts to the new Basic scripting language. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 448 · File System: When a 32-bit program is used on 64-bit versions of Windows, then Windows interferes with file system calls to help with compatibility. This means that 32-bit versions of SyncBack will see different files in some Windows system folders. If you are not copying system files, then this should not be a problem. If you are, then you should check your profiles file and folder selections to make sure the correct files are being copied. · Environment Variables: If you use Windows environment variables, e.g. for a profiles destination, then note that some Windows environment variables will have different values depending on if it's 32-bit or 64-bit Windows. Check the Windows documentation. · Scheduling: The Windows Task Schedules, to run your profiles, are stored in a different folders in the task scheduler. This should not be a problem because SyncBack will import the schedule into the correct task scheduler folder. · Benefits: The major benefit to using the 64-bit version is that it has access to all the memory on your system. This may be important to you when using some cloud services, e.g. Dropbox, and high levels of compression. · Downloading: See the downloads page for links to the 32-bit and 64-bit versions of SyncBackPro and SyncBackSE. 3.5.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 Command Line Parameters A Definition of the Command Line A Command Line is a space provided directly on the screen where users type specific commands. A CLI (command line interface) is a user interface to a computer's operating system or an application in which the user responds to a visual prompt by typing in a command on a specified line, receives a response back from the system, and then enters another command. The MS-DOS Prompt application in the Windows operating system is an example of the provision of a command line interface. Today, most users prefer the graphical user interface (GUI) offered by Windows or Macs. SyncBackPro Installer Command Line Parameters Note that the SyncBackPro installer also accepts command line parameters. See the Installing section for more details. Below, the parameters for SyncBackPro itself are explained. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 449 SyncBackPro Help SyncBackPro Command Line Parameters SyncBackPro accepts a number of command line parameters. Some of these are used when SyncBackPro is called from the Windows Task Scheduler. Note that when SyncBackPro is run with command line parameters, by default it will run in Unattended mode and be minimized, which means that it will not prompt the user and will not be visible on screen. -r: The profiles following this parameter are run in restore mode. By default profiles are run as backups/Synchronizations. -i: The profiles following this parameter are run in interactive mode. By default profiles run from the command line are run unattended, i.e. no prompts are displayed. The opposite parameter is -silent -m: Minimizes SyncBackPro. If you are running profiles then this is the default. -n: The profiles following this parameter are run in normal mode, i.e. dialogs and windows are displayed on the screen. By default profiles run from the command line are run in minimized mode. -p: The profiles following this parameter are run in parallel, i.e. they are all run at the same time. Normally the profiles are run in serial (one after the other). -vgn [groupname]: The profiles following this parameter are run as part of the group (visual group). This is useful for when you have variables in a group and want to use them in the profile. The profile does not need to be part of the group and the group itself is not run. This is the same as running a profile that's in a group in the user interface. -s: The profiles following this parameter are run in simulated mode, i.e. no files are actually copied or deleted. -silent: The profiles following this parameter are run in unattended mode. By default profiles run from the command line are run unattended, i.e. no prompts are displayed. The opposite parameter is -i. The -silent parameter is useful when used in conjunction with the -export, importprofile, -delete, and -log parameters. -hibernate: Place the computer into hibernate mode (S4) (if the computer supports it). -standby: Place the computer into a sleep state (if the computer supports it). What level of sleep state (S0 to S3) the device goes into is up to Windows and the level of hardware support. -shutdown: Logoff, shutdown, and switch off the computer (if the computer supports it). SyncBackPro cannot guarantee that the computer will be shutdown. Windows does a shutdown asynchronously, meaning SyncBackPro can be told the computer will shutdown even though something could stop that shutdown, e.g. Windows itself, another application, a driver, a user, etc. If you do not have the access rights in Windows (e.g. you are not an administrator) then this command will fail. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 450 -shutdownforce: Logoff, shutdown, and switch off the computer (if the computer supports it). Note that this will forcibly shutdown the computer, e.g. applications with unsaved data will be forcibly closed. SyncBackPro cannot guarantee that the computer will be shutdown. Windows does a shutdown asynchronously, meaning SyncBackPro can be told the computer will shutdown even though something could stop that shutdown, e.g. Windows itself, another application, a driver, a user, etc. If you do not have the access rights in Windows (e.g. you are not an administrator) then this command will fail. -shutdownhybrid: This is the same as -shutdown, except on Windows 8 and newer systems it will perform a hybrid shutdown of the system. A hybrid shutdown prepares the system for a faster start-up. -logoff: Logoff (logout) from the current Windows account. Keep in mind that it will logoff the user in the session it is run in. For example, a scheduled task will run in its own session if it's set to run if logged in or not. So the -logoff switch will not logoff the current user. If the scheduled task is set to run only if the user is logged in then it will logoff the current user. -monoff: Switches off all attached display monitors. This is unlikely to work if the profile is run from a different session, e.g. run via the task scheduler. -reboot: Reboot the computer (if the computer supports it). SyncBackPro cannot guarantee that the computer will be rebooted. Windows does a reboot asynchronously, meaning SyncBackPro can be told the computer will reboot even though something could stop the reboot, e.g. Windows itself, another application, a driver, a user, etc. If you do not have the access rights in Windows (e.g. you are not an administrator) then this command will fail. -rebootforce: Reboot the computer (if the computer supports it). Note that this will forcibly reboot the computer, e.g. applications with unsaved data will be forcibly closed. SyncBackPro cannot guarantee that the computer will be rebooted. Windows does a reboot asynchronously, meaning SyncBackPro can be told the computer will reboot even though something could stop the reboot, e.g. Windows itself, another application, a driver, a user, etc. If you do not have the access rights in Windows (e.g. you are not an administrator) then this command will fail. -rebootifreq: Reboot the computer (if the computer supports it) if a profile was run that required a reboot for a file to be replaced/deleted. If you do not have the access rights in Windows (e.g. you are not an administrator) then this command will fail. -full: Perform a full backup, i.e. rescan the destination for changes. This is only for Fast Backup profiles. -countdown [seconds]: When used this parameter will cause a small window appear with a countdown timer in it. For example, if you passed -countdown 10 then a window will appear counting down from 10 seconds. Once it reaches zero then the profiles following it in the command line will be run. You can abort the countdown (and exit the program) and so abort running of the profiles by clicking the Cancel button. If the user aborts the countdown then the exit code -100 is returned. If you click OK then the countdown is cleared and the program continues (and so the profiles are run). A countdown is also useful if you want to shutdown © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 451 SyncBackPro Help the computer after the profiles have run, but also want to abort the shutdown just in case you are using the computer at the time, e.g. -countdown 10 -shutdown. If you use this command line parameter in a scheduled task then make sure the -m parameter is not also used. If the task is scheduled then you must enable the checkbox "Run only when user is logged on" for the scheduled task otherwise the countdown window will not appear (this is due to the Windows security). -countdownmsg [message] [seconds]: This is the same as the countdown parameter, except you can define what message you want to appear in the countdown window. If the user aborts the countdown then the exit code -100 is returned. Remember to wrap the message is double-quotes, e.g. -countdownmsg "Shutdown in 10 seconds" 10 -shutdown -export [profile name] [filename]: This parameter is used to export a profile, or export all profiles. For example: -export "My Profile" "C:\Profiles\My Profile.sps" will export the profile called My Profile to the file C:\Profiles\My Profile.sps. To export all profiles you must use an asterisk for the profile name and supply a directory instead of a filename, e.g. -export * "C: \My Profiles" will export all profiles to the directory C:\My Profiles. The filenames will be the same as the profile names (with the .SPS filename extension). If a profile fails to be exported then the exit code -102 is returned. To not be prompted use the -silent parameter before export -importprofile [profile filename]: This parameter allows you to import many profiles by using wildcards. For example, -importprofile "C:\My Folder\*.sps", will import all the profiles from the "C:\My Folder\" folder. If no directory is given in the filename then the current directory is used. If it fails the exit code -101 is returned. To not be prompted use the -silent parameter before -importprofile -importscript [script filename]: ( Pro version only) This parameter allows you to import many scripts by using wildcards. For example, -importscript "C:\My Folder\*.sbs", will import all the scripts from the "C:\My Folder\" folder. If no directory is given in the filename then the current directory is used. For security reasons scripts are always imported interactively and with the users consent. See the note below for more details. If it fails the exit code -108 is returned. -source: Set the source folder for all the following profiles to use. Variables can be used, but please see the important information at the end of the Variables section on how Windows expands environment variables. Also, if you are running a group then this source folder will be used with all the profiles in the group, and that may not be appropriate or desired. If you change the source folder then you should consider using the -noselect and -nofilter command line parameters. -dest: Set the destination folder for all the following profiles to use. Variables can be used, but please see the important information at the end of the Variables section on how Windows expands environment variables. Also, if you are running a group then this destination folder will be used with all the profiles in the group, and that may not be appropriate or desired. If you change the destination folder then you should consider using the -noselect and -nofilter command line parameters. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 452 -noselect: This parameter will switch off the file & folder selections for the profiles being run. Aside from improving performance, it is also strongly advisable that the selections be switched off when the source or destination directories have been changed. See the Restoring and Selections section for more details. -nofilter: This parameter will switch off the file & folder filters for the profiles being run. Aside from improving performance, it is also advisable that the filters be switched off when the source or destination directories have been changed. See the Restoring and Selections section for more details. -nochanges: This parameter will run the profile but not allow the file or folder actions to be changed, or versions to be restored, if the Differences window is displayed (it will not be if unattended). -nosplash: The splash screen will not be displayed. -delete [profile name]: The named profile is deleted. If a profile fails to be deleted then the exit code -103 is returned. You may be prompted if the profile is password protected, for example. To not be prompted use the -silent parameter before -delete -donotexit: By default SyncBack will automatically exit after performing the tasks given on the command line (that is unless the user interface is used while performing those tasks). To stop it exiting use this parameter. -password [password]: When deleting or importing profiles, an existing profile may exist with that name and be password protected. Use this parameter to provide the password. The password parameter must come before the import filename or delete parameter, e.g. password "the password" delete "profile name". -priority [priority]: The profiles following this on the command line will be run at this priority. 1 (Idle) is the lowest priority, and 7 (Time Critical) is the highest. The default is 4 (Normal). Note that this is the priority of the thread that runs the profile. It is not the priority of the entire SyncBack process (which is the priority that you'll see in the Windows Task Manager). To set the priority of the entire SyncBack process using the procpriority command line parameter. The SyncBack process can only have one priority but each thread can have its own priority. -procpriority [priority]: This sets the priority of the entire SyncBack process (which is the priority that you'll see in the Windows Task Manager). 1 (Idle) is the lowest priority, and 5 (High Priority) is the highest. The default is 3 (Normal). Although Windows supports it, realtime priority is not supported by SyncBack as it would do more harm than good. Note that the range of values, and default value, are different from that for the priority command line parameter. The SyncBack process can only have one priority but each thread can have its own priority. -affinity [CPU mask]: This function is only of use on computers that are multi-core or multiCPU. It ties the SyncBack process to one or more specific processors. This can be very useful if you want to limit the CPU resources SyncBack can use. The parameter is a bitmap mask (in decimal) with each bit representing a CPU. For example, to force SyncBack to only use processor 1 then pass 1, to force SyncBack to only use processor 2 then pass 2, to © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 453 SyncBackPro Help force SyncBack to use both processor 1 and 2 then pass 3, to force SyncBack to only use processor 3 then pass 4, etc. -posreset: This will reset the positions of all windows. Note that you can perform the same action using the tray pop-up menu item Reset all window positions and sizes. -noprofbackup: The profiles will not be backed up on exit. -profbackup: The profiles will be backed up on exit. -clearss: The Intelligent Synchronization data will be cleared for all profiles following it on the command line. -log [profile name]: The latest log file for the profile will be displayed. If it is a group profile then the logs for all the profiles in the group will be displayed. If there is no log then an error message dialog is displayed. To stop this, use the -silent parameter before -log. -sbmssync: ( Pro version only) Using the defined connection parameters, it will login to the SBM Service, upload profile run history (if required), and download/delete the managed profiles (if required). If it fails the exit code -109 is returned. -winpassword [password]: If you are importing profiles with a schedule then Windows may need your password in order to create the schedule (this is a security requirement of Windows). To avoid being prompted you can pass your Windows login password on the command line. If you do not give a password, and Windows needs your password, and you have not specified the -i parameter, then the schedule may silently fail to import. -disable [profile name]: The specified profile will be disabled. -enable [profile name]: The specified profile will be enabled. -pause [profile name]: The specified profile will be paused. -resume [profile name]: The specified profile will be resumed (if it is currently paused). -settings [folder]: The specified folder will be used to get settings and profiles from. Note that unless you also use the parameter -restricted (see below) then it will also look in other folders for settings. Don't forget to use double-quotes around the folder name, e.g. -settings "C:\My Folder\". Also, it is not important where the setting is used on the command line. If you use the -settings parameter more than once then the last one is used. Note that you can also specify the folder to use during installation. -restricted: This setting is used along with -settings to restrict SyncBackPro to only look for settings and profiles in that specific folder. -debugon: Enabled debug output for the profiles run following it on the command line. See also -eventlog © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 454 -debugoff: Disables debug output, for the profiles run following it on the command line, when it was previously enabled using -debugon. This can only be used with -debugon. For example, if you had the following SyncBackPro profile1 -debugon profile2 -debugoff profile3, then debug output for profile1 would depend on the program settings for debug output. Debug output for profile2 would be enabled regardless of the program settings, and debug output for profile3 would depend on the program settings. -eventlog: Enable debug output to the Windows Event Log. See also -debugon -integcheck: ( Pro version only) The profiles passed on the command line, following this parameter, are run as integrity checks. You can optionally choose which source/left and destination/right paths to check by using the -source and -dest parameters. -copy [existing profile name] [copies profile name]: The specified profile will be copied and the new profile will be given the new name specified. If unattended then: any errors that occur will not be displayed, any existing profile will be replaced, the Fast Backup database will not be copied and neither will any Intelligent Sync database. Running Profiles All other parameters are assumed to be profile names. If a profile name has a space in it use double quotes around the profiles name, e.g. "All Profiles". The profile names are not case sensitive. So for example: SyncBackPro profile1 -i profile2 profile3 -n -r "profile 4" -hibernate This command will run profile1 as a backup/sync in unattended and minimized modes, profile2 and profile3 as a backup/sync in interactive and minimized modes, profile 4 as a restore in interactive and normal mode, and once all the profiles have finished the computer will hibernate. If SyncBackPro is run with no command line parameters then it will first check to see if any other instances of SyncBackPro are running which also started with no command line parameters. If so, it will not start. This helps ensure only one instance of SyncBackPro is running. However, whenever SyncBackPro is run with command line parameters, it will run regardless of whether any other instances of SyncBackPro are running or not. Also, if run with command line parameters, SyncBackPro will exit once it has finished its tasks, but if you use any part of its user interface while it is running then it will not exit. Parameter Order The command line parameters are evaluated from left to right (first to last). When a profile name is found then the profile is run using the settings before it. For example, if you want to change the source folder for a profile then you must specify that before the profile: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 455 SyncBackPro Help SyncBackPro -source "C:\New Source\" MyProfile Importing Profiles You can automatically import profiles by passing the filename of the exported profile on the command line. For example, if you exported a profile and saved it as 'MyProfile.SPS' then if you pass this on the command line to SyncBackPro it will automatically import the profile. The filename extension must be .SPS otherwise it is assumed to be the name of a profile to run. If you want to import multiple profiles using wildcards then you can use the -importprofile command line parameter. You can also import profiles by dragging the file onto the main window of SyncBackPro. If a profile has a schedule then when you import it Windows may require you to provide your password (this is a security requirement of Windows). To avoid being prompted you can pass your Windows login password on the command line via the -winpassword command line parameter. If you do not give a password, and Windows needs your password, and you have not specified the -i parameter (so SyncBackPro cannot prompt you), then the schedule may silently fail to import. Importing Scripts You can also automatically import scripts by passing the filename of the exported script on the command line. The filename extension must be .SBS otherwise it is assumed to be the name of a profile to run. For security reasons scripts are always imported interactively and with the users consent. There is no way to bypass this. If you want to import multiple scripts using wildcards then you can use the -importscript command line parameter. You can also import scripts by dragging the file onto the main window of SyncBackPro. Exit Codes When running SyncBackPro from the command line, a batch file, etc. then it will return an exit code that gives an indication of whether the task was completed successfully or not. As a number of tasks can be done via the command line at the same time, e.g. import a profile, run it, then delete it, the exit code relates to the last task done on the command line. Also note that if a group profile is run then the exit code is undefined. In the list below, the second column, e.g. 0xFFFFFF97, is what the Windows Task Scheduler will show in the Last Result column. 0 Success, no error. 100 SyncBackPro did not close because of user interaction or the donotexit parameter was used -100 0xFFF FFF9C The countdown parameter was used and the user aborted it -101 0xFFF An FFF9B attempt was made to import a profile from the command line and it failed © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 456 -102 0xFFF FFF9A The export parameter was used and a profile export failed -103 0xFFF FFF99 The delete parameter was used and the profile failed to be deleted -104 0xFFF FFF98 The user aborted the profile run -105 0xFFF FFF97 The profile name given does not exist -106 0xFFF FFF96 The profile was not run because it is disabled -107 0xFFF FFF95 The profile run failed (note that the result of a group profile run is unknown) -108 0xFFF FFF94 An attempt was made to import a script from the command line and it failed -109 0xFFF FFF93 An attempt was line and it failed made to synchronize with the SBM Service from the command -110 0xFFF FFF92 The SyncBackPro serial number is invalid or the evaluation period has expired -111 0xFFF FFF91 SyncBackPro is being run the folder SyncBackPro is from an external being run from drive and there is no write access to -112 0xFFF FFF90 An encryption key is being used but it cannot be loaded or is corrupt -113 0xFFF FFF8F The Ransomware Protection failed 3.5.5 All Content: 2BrightSparks Pte Ltd © 2003-2021 Filter Settings Define what file types and directories are copied and which are not. Note that if you filter out the desktop.ini file, and have the option to use the desktop.ini file set, then it will be highlighted in yellow in the filter settings window. This same window is also used to specify verification and versioning filters. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 457 SyncBackPro Help The menu at the top of the window has a number of options: · Filter: SyncBackPro supports three different types of filters: Old V3 style filters, Regular expressions and DOS expressions. See the help below for details on how to use these. Note that you should not use semi-colons (;) if you are using DOS expressions. This is due to a limitation in the Windows operating system call that is used to compare filenames using filters. · Options o Do not use filters (can improve performance): If this is selected then no filtering is performed. This can reduce the run time of a profile, sometimes substantially. To further improve performance you may also want to disable file & folder selections. You can also switch off filters using the -nofilter command line parameter. o Use Windows file exclusion filters: If this option is enabled then the standard Windows backup file filters are also used. These are files that Windows itself recommends are not included in any backups. For example, any files in the temporary folder. Note that this option is not available if the profile is using Fast Backup (without the archive attribute). o Make these the defaults: If selected then the filters you have set for this profile will become the default filters for all newly created profiles. See the pop-up menu below for copying the filter settings from another profile or reverting them to default values. · Settings o Copy these settings from another profile: By selecting this menu item you can copy the filter settings from another profile. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 458 o Revert to factory settings: If selected then the filters will be reset to the default factory settings. o Revert to defaults: If selected then the filters will be reset to the defaults as set by you (see Make these the defaults button above). o Test Filters: If selected a window appears where you can enter a file name or a folder name. A folder name must have a trailing slash, e.g. \folder\, otherwise it is assumed to be a file name. You should enter a relative name and not an absolute name, although absolute names can be used. For example, C:\folder\filename.txt is an absolute name but \folder\filename.txt is a relative name. The reason for this is that an absolute name will only refer to the source/left or destination/right and not both. Note that if you're using variables either in the source/left or destination/right, or in the filters, then the test may not be accurate because variables are variable by definition (meaning their value changes). At the bottom of the window are a number of buttons: · Add (Files/folders to copy): If clicked a dialog box appears letting you enter a filter expression for files and folders to include. You can enter a filename, a folder name, a complete path, etc. Anything matching this expression will be copied. You can enter multiple filters at the same time by using the forward slash (/) to separate them, e.g. item1/item2/item3. You can also press the Again button to immediately enter another filter item. · Remove (Files/folders to copy): If clicked then the selected items will be removed from the list. · Add (Files/folders NOT to copy): If clicked a dialog box appears letting you enter a filter expression for files and folders to exclude. You can enter a filename, a folder name, a complete path, etc. Anything matching this expression will be not be copied. You can enter multiple filters at the same time by using the forward slash (/) to separate them, e.g. item1/item2/item3. You can also press the Again button to immediately enter another filter item. To edit an existing filter you can double-click on the filter entry or press F2. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 459 SyncBackPro Help · Remove (Files/folders NOT to copy): If clicked then the selected items will be removed from the list. You can also double-click on an item in the list to change it. · Re-apply Filter: If clicked, then the filter will be re-applied to the selections you have made in the tree. For example, if you have selected to exclude all files with the extension .tmp then if you have selected a file in the tree which does have that extension then you will be prompted if you'd like to unselect that file. Use the "Re-apply Filter" button instead of the OK button when you haven't made any changes to the filters but want to re-apply them. When you make a change to the filters, and click OK to save them, then the new filters will be re-applied to the selections you made in the tree. Note: to modify an existing filter double-click it or select it and press F2. You can also click on a filter item (in Files/folders to copy or Files/folders NOT to copy) and press Ctrl-C to copy all the filter items to the Windows clipboard. Pressing Ctrl-A will select all filter items. Select Settings->Copy these settings from another profile to copy all the filters from another profile. You can use SyncBackPro and Windows Environment variables in the filters, e.g. % HOMEPATH% What are the filters compared with? A filter is compared with the folders and filenames (which include the path). The root source and destination directories are not used. For example, if your source directory is C:\my files\ and it includes a folder called subfolder and a file called file.txt then the filters would be compared against the following: \ \subfolder\ \file.txt An important point to remember is that folders include a trailing backslash, but files do not. Example filters for SyncBackPro The filters in SyncBackPro allow for files and folders to be filtered based on their name. There are three filter types to choose from. This section gives examples using DOS Expressions, which is the default filter type and the simplest to use. First, there are some important rules to remember about filters: 1. The selections in the tree override the filters. For example, you can filter out all .txt files but still select some .txt files in the tree. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 460 2. Exclude filters override include filters. For example, the include filter may be set to * (which means include everything), and your exclude filter could have *\*.temp in it, which means any file with the extension .temp will be excluded. 3. Filters apply to the entire filename, including the path, but the source and destination base are not part of the path. For example, if your source directory is C:\My Documents\ then that will not be in the filename used with the filter. This makes sense if you remember that the source and destination root directories are different, but their sub-directories are going to have the same names. 4. Folder names end with a backslash, where as files do not, e.g. \My Documents\ and \My Documents\filename.txt 5. All file and folder names start with a backslash. Remember to include folders and files in the filter If you set your Files/folders to copy filter to just *\*.txt then it will only include text files in the root folder and unselect all child folders. Why? Because you forgot to also include folders. You need to also add *\ to Files/folders to copy to include all the folders (or change that as appropriate to include only folders with certain names, for example). Another example is if you set your Files/folders to copy filter to just *\ then it will only include folders and no files. Why? Because all folders end with a backslash (\) but no files do. If you want all folders and files the filter should be * (or *\*) Filters are applied top-down When SyncBackPro scans a folder it starts from the top (the root) and works its way down the child folders. For each file and folder it first looks to see if it has been specifically selected, or not, in the file & folder selection tree. Selections override filters. If no selection decision has been made then it uses the filters. It first checks to see if the file or folder matches any inclusion filter. If not, it is filtered out, i.e. skipped (ignored). If it's a folder that is being filtered out then all files and child folders of that folder are ignored. If it matches the filter then it checks to see if it matches an exclusion filter. If it does then it is filtered out. For example, say you have the following folder structure: \ \Parent\ \Parent\Child\ \Parent\Child\GrandChild\ The root folder (\) is always included and cannot be filtered out. After scanning the files in the root folder, it would then scan Parent, then Child, then GrandChild. Each folder must match a filter (or have been selected in the tree) otherwise everything in it is ignored. For example, if you had the following filter to copy all text files in the Child folder then it would fail: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 461 SyncBackPro Help \Child\*.txt Why would it fail? Two reasons. First, because the Parent folder does not match that filter so the Child folder is never looked at. Second, the Child folder doesn't match that filter (it is \Parent\Child\). Folders end with a backslash. Therefore the filters must be changed to the following so the folders are included: \Parent\ \Parent\Child\ \Parent\Child\*.txt Example DOS Expressions Notice that many of the examples below also include filters to include folders. *\ *\*.txt All text files (.txt) in all folders. The *\ filter ensures all folders are looked at. *\ All text files in all folders called temp and any sub-folders of those temp folders. *\temp\*.txt \temp\ All text files in the root folder called temp. For example, if your source directory \temp\*.txt is C:\My Documents\ then this filter is for all text files in C\My Documents\temp\ *\test\ All folders called test. Note that no files will be copied unless another filter is added to include files, e.g. *\*.txt *\parent\ All folders called child whose parent directory is called parent. Notice the filter *\parent\child\ *\ is required otherwise it will never look inside folders called parent. Note that no files will be copied unless another filter is added to include files, e.g. *\*.txt \temp*\ All root folders whose name starts with temp or is called temp. Note that no files will be copied unless another filter is added to include files, e.g. *\*.txt Examples of wrong DOS Expressions The examples below are examples of wrong filters. An explanation is given of why it is wrong. *.txt This will match any file, or folder, whose name ends with .txt. If you are trying to just include all text files then you should also remember to add *\ to the filters otherwise no child folders will be selected (see the notes below). If you just want text files in the root then the filter is valid if used on its own. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 462 temp\*.txt This filter will fail to match anything because all folder and filenames start with a backslash (\) character. 3.5.6 All Content: 2BrightSparks Pte Ltd © 2003-2021 Open and Locked File Copying Open / locked files can only be copied when the following criteria are met: · The open / locked file is on a local volume that is formatted with NTFS or ReFS, or it is on a local volume that is formatted with FAT32 and you also have a local volume on an internal drive that is formatted with NTFS or ReFS. You can copy locked files to any other drive (external or internal), network drive, Zip file, FTP, etc. The restriction is on where the locked file is, not where it is copied to. · You are running SyncBackPro or SyncBackSE with a user who is a member of the Backup Operators group (or an Administrator) "Local" means a volume on a drive that is physically connected to the computer, i. e. open / locked files cannot be copied from drives over the network. "Internal" means a drive that is connected via SATA, SCSI or IDE. Drives connected via USB, Firewire, eSATA, etc. are considered external. Basically, if the drive is inside your computers case then it is considered internal. Note that the first page of the log file will contain a warning if open / locked files cannot be copied because either the above criteria is not met, or there is another problem. Possible reasons why an open / locked file cannot be copied: · If you are using a UNC path to a local drive (e.g. \\localhost\C$\path\) then you must change it to use the drive explicitly and not in the UNC format (e.g. C:\path\) · Only one profile can copy open / locked files at any one time. If two profiles are running at the same time then only one of them will be able to copy the open / locked files. If you are running profiles in a group then unselect the option to run them in parallel. · The Volume Shadow Copy Service (VSS) is not installed or working correctly. VSS is a part of Windows and not SyncBack. It is used to copy open / locked files. If there is a problem with VSS then the log file will contain the error messages. · You are not using the latest version of SyncBackPro or SyncBackSE. You may download the latest version from our website. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 463 SyncBackPro Help · Desktop search programs like Copernicus Desktop Search (CDS), Google Desktop Search (GDS), and MSN Search Toolbar, can interfere with the copying of open / locked files. You may need to close those programs to guarantee that open / locked files can be copied. 3.5.7 All Content: 2BrightSparks Pte Ltd © 2003-2021 Variables SyncBackPro includes a whole range of variables that can be used in various profile settings, e.g. the Source and Destination. Variables are values which are not known until the profile is run. At runtime the variables are replaced by their value. Note that you can also define your own profile variables at a global level, group level and at the profile level. You can also get values from the registry and Windows. For variables see the following sections on this page: · Days · Weeks · Months · Years · Dates · Times · Drives, Files, and Folders · Misc. · Backup email · Emailing the log · Registry · SyncBack Touch · Order of evaluation · Important notes Examples of variable usage Although variables appear to be complex, they are in fact very simple. Just remember that a variable is replaced with its value when the profile is run. A couple of examples will make it clear: · You are the administrator for a number of employees computers and want to create a backup profile that makes a backup of all the users documents. This profile will be imported on each users computer so you don't need to manually create it on each computer. Each user has their own 'My Documents' folder on a computer, so if you set the source folder to one users folder then it wouldn't work for other users (because they have different usernames, so the path would be different). To avoid this you can simply © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 464 set the source to %CSIDL_PERSONAL%. Now when the profile is run it will replace the %CSIDL_PERSONAL% string with the users My Documents path. · You want to backup to a Zip file and use the current date in the filename of the Zip file. To do this simply set your destination (for example) to X:\Backup\%DATE%.Zip Variables are user specific Remember that the value of a variable may be user-specific. For example, the variable % CSIDL_PERSONAL% (see the example above) has a different value for each user (because every users has their own My Documents folder). So if you have a profile set to run as a specific user, e.g. via Run As or via the scheduler, then keep in mind that the value returned depends on the user who is running the profile. Windows security and environment variables Windows Vista introduced the concept of elevation, meaning a program run by an administrator didn't run with full privileges unless it requested them and the user explicitly granted them. In Windows terms it is called UAC (User Account Control): http://windows.microsoft.com/en-us/windows/what-is-user-accountcontrol#1TC=windows-7 For example, when SyncBackPro is run you are asked, by Windows, to allow it to run elevated. By running elevated SyncBackPro can copy locked files, for example. One side effect of this is that processes that run elevated, like SyncBackPro and SyncBackSE, cannot access some things that were set by non-elevated processes. For example, using the Windows File Explorer you can map a network drive to a drive letter. Windows File Explorer does not run elevated. When SyncBackPro and SyncBackSE is run it cannot see the mapped drive. This is because of the security introduced in Windows Vista. The same applies to environment variables. If you open a command prompt (not elevated), set an environment variable and then run SyncBackPro or SyncBackSE, it will not be able to see those environment variables. This is also because of the security introduced in Windows Vista. One option is to use SETX to set the variables and the other option would be to run the command prompt elevated. SyncBackFree does not have these Windows security related issues because it does not run elevated. Days The following variables are related to days of the week, month, etc: %DAY% Current day of the month, e. g. 10 %DAYOFMONTH% Alias for %DAY% © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 465 SyncBackPro Help %DAYODDEVEN% Odd or even day of the year (O = odd day, E = even day) %DAY_P% Yesterdays day of the month (could be previous month) %DAY_N% Tomorrows day of the month (could be next month) %DAYOFWEEK% Current day of the week, (1 = Monday, 7 = Sunday) %DAYOFWEEK_P% Yesterdays day of the week %DAYOFWEEK_N% Tomorrows day of the week %DAYOFYEAR% Current day of the year (January 1st = 1) %DAYOFYEAR_P% Yesterdays day of the year %DAYOFYEAR_N% Tomorrows day of the year %DAYOFQUARTER% Current day of the current quarter of the year (January 1st, April 1st, July 1st, October 1st = 1) %DAYOFQUARTER_P% Yesterdays day of the quarter of the year %DAYOFQUARTER_P% Tomorrows day of the quarter of the year %NTHDAYOFWEEK% Note that this value may differ from the value that the WeekOfTheMonth variable returns, because NthDayOfWeek counts every occurrence of the given weekday, while WeekOfTheMonth only counts a week if it includes 4 or more days in the month. Thus, for example, if today is a Saturday and is the first day of a month, NthDayOfWeek returns 1, while WeekOfTheMonth returns 5 (or maybe 4), indicating the last week of the previous month. %DAYSINMONTH% Number of days in current month. %DAYSINYEAR% Number of days in current year. These new variables allow you, for example, to keep 7 days worth of backups, e. g. you could set your destination to D:\Backup\%DAYOFWEEK%\ so that you'll always have backups of the last seven days worth of files. %DAYOFWEEKNAME% The first three letters of the day of the week, e.g. Mon. Note that English is always used. %DAYOFWEEKNAME_P% The first three letters of yesterday %DAYOFWEEKNAME_N% The first three letters of tomorrows %LASTRUNDAY% The day of the month that the profile was last run (empty string if it has not yet been run) © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 466 %LASTSUCCESSRUNDAY% The day of the month that the profile was last run without error (empty string if it has not yet been run without error) Weeks The following variables are related to weeks of the month, year, etc: %WEEKOF% Week of the year (1 to 53). WeekOf uses the ISO 8601 standard to define the week of the year. That is, a week is defined as running from Monday through Sunday, and the first week of the year is defined as the one that includes the first Thursday of the year (the first week that includes four or more days in the year). This means that if the first calendar day of the year is a Friday, Saturday, or Sunday, then for the first three, two, or one days of the calendar year, WeekOf returns the last week of the previous year. Similarly, if the last calendar day of the year is a Monday, Tuesday, or Wednesday, then for the last one, two, or three days of the calendar year, WeekOf returns 1 (the first week of the next calendar year). %WEEKOFODDEVEN% Odd or even week of the year (O = odd week, E = even week) %WEEKOFTHEMONTH% Week of the month (1 to 6). WeekOfTheMonth uses the ISO 8601 standard definition of a week. That is, a week is considered to start on a Monday and end on a Sunday. The first week of a month is defined as the first week with four or more days in that month. Thus, if the first day of the month is a Friday, Saturday, or Sunday, the first one, two, or three days of the month are defined as belonging to the last week of the previous month. Similarly, if the last day of the month is a Monday, Tuesday, or Wednesday, then the last one, two, or three days of the month are defined as belonging to the first week of the next month. %WEEKOFQUARTER% Current week of the current quarter of the year (January 1st, April 1st, July 1st, October 1st = 1) %WEEKOFQUARTER_P% Yesterdays week of the quarter of the year %WEEKOFQUARTER_P% Tomorrows week of the quarter of the year %WEEKSINYEAR% The number of weeks in the year (52 or 53). WeeksInYear defines the first week of the year according to the ISO 8601 standard. That is, the first week of the year is the one that includes the first Thursday of the year (the first week that has 4 or more days in the year). This means that WeeksInYear always returns either 52 or 53. Months The following variables are related to months of the year: %MONTH% Current month, e. g. 12 %MONTH_P% Previous month © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 467 SyncBackPro Help %MONTH_N% Next month %MONTH_Y% Yesterdays month %MONTH_T% Tomorrows month %MONTHNAME% The first three letters of the current month, e.g. Jan. Note that English is always used. %MONTHNAME_P% The first three letters of last month %MONTHNAME_N% The first three letters of next month %MONTHNAME_Y% The first three letters of yesterdays month %MONTHNAME_T% The first three letters of tomorrows month %LASTRUNMONTH% The month that the profile was last run (empty string if it has not yet been run) %LASTSUCCESSRUNMONTH% The month that the profile was last run without error (empty string if it has not yet been run without error) %MONTHOFQUARTER% The number of the month of the quarter of the year. For example, January=1, February=2, March=3, April=1, May=2, etc. %MONTHOFQUARTER_P% The number of the previous month of the quarter of the year. For example, if it is April then this returns 3 (for March), and if it is March then it would return 2 (for February). %MONTHOFQUARTER_N% The number of the next month of the quarter of the year. For example, if it is March then this returns 1 (for April), and if it is April then it would return 2 (for May). %MONTHOFQUARTER_Y% The number of yesterdays month of the quarter of the year. %MONTHOFQUARTER_T% The number of tomorrows month of the quarter of the year. Years The following variables are related to years: %YEAR% Current year in 4 digits, e. g. 2010 %YEAR2% Last two digits of current year, e. g. 09 %YEAR_P% Previous year © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 468 %YEAR_N% Next year %YEAR_Y% Yesterdays year %YEAR_T% Tomorrows year %QUARTEROFYEAR% Returns the current quarter for the current year, i.e. 1 for January to March, 2 for April to June, 3 for July to September, and 4 for October to December. %QUARTEROFYEAR_P% Returns the previous quarter for the current year. For example, if the current quarter is 2 then it returns 1, and if it is 1 then it returns 4. %QUARTEROFYEAR_N% Returns the next quarter for the current year. For example, if the current quarter is 1 then it returns 2, and if it is 4 then it returns 1. %QUARTEROFYEAR_Y% Returns yesterdays quarter for the current year. %QUARTEROFYEAR_T% Returns tomorrows quarter for the current year. %LASTRUNYEAR% The year that the profile was last run (empty string if it has not yet been run) %LASTSUCCESSRUNYEAR% The year that the profile was last run without error (empty string if it has not yet been run without error) Dates The following variables are related to dates: %DATE% Current date (it will be in the short date format configured in your installation of Windows) %DATE_P% Yesterdays date %DATE_N% Tomorrows date Times The following variables are related to times: %TIME% Current time (it will be in the short time format configured in your installation of Windows) %HOUR% Current hour (24 hour clock format), e. g. 19 %MINUTE% Current minute © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 469 SyncBackPro Help %SECOND% Current second %MILLISECOND% Current millisecond (0 to 999) %HOUROFTHEYEAR% The number of complete hours between the current date & time and 12:00 AM on Jan 1 of the year. %HOUROFTHEMONTH% The number of complete hours between the current date & time and 12:00 AM on the first day of the month. %HOUROFTHEWEEK% The number of complete hours between the current date & time and 12:00 AM on Monday of the week. %MINUTEOFTHEYEAR% The number of minutes between the current date & time and 12:00:00:00 AM on Jan 1 of the year. %MINUTEOFTHEMONTH% The number of minutes between the current date & time and 12:00 AM on the first day of the month. %MINUTEOFTHEWEEK% The number of minutes between the current date & time and 12:00 AM on Monday of the week (the week starts on Monday). %MINUTEOFTHEDAY% The number of minutes between the current date & time and 12:00 AM on the same day. %SECONDOFTHEYEAR% The number of seconds between the current date & time and 12:00:00:00 AM on Jan 1 of the year. %SECONDOFTHEMONTH% The number of seconds between the current date & time and 12:00:00 AM on the first day of the month. %SECONDOFTHEWEEK% The number of seconds between the current date & time and 12:00:00 AM on Monday of the week (the week starts on Monday). %SECONDOFTHEDAY% The number of seconds between the current date & time and 12:00:00 AM on the same day. %SECONDOFTHEHOUR% The number of seconds between the current date & time and the start of the same hour on the same day. %MILLISECONDOFTHEYEAR% The number of milliseconds between the current date & time and 12:00:00:00 AM on Jan 1 of the year. %MILLISECONDOFTHEMONTH% The number of milliseconds between the beginning (Midnight on the first day) of the month and the current date & time. %MILLISECONDOFTHEWEEK% The number of milliseconds between the current date & time and 12:00:00:00 AM on Monday of the current week (the week starts on Monday). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 470 %MILLISECONDOFTHEDAY% The number of milliseconds between the current date & time and the beginning (midnight) on the same day. %MILLISECONDOFTHEHOUR% The number of milliseconds between the current time and the start of the same hour on the same day. %MILLISECONDOFTHEMINUTE% The number of milliseconds between the current time and the start of the same minute on the same day. Drives, Files, and Folders The following variables are related to drives, files, and folders: %THISDRIVE% The drive that SyncBackPro is running on, e. g. C: %THISPATH% The path that SyncBackPro is running from, e.g. C:\Program Files\2BrightSparks\SyncBackPro\ %THISPROGRAM% The path and filename of the SyncBackPro program itself. %SYNCBACKFOLDER% The default local (not roaming) folder that SyncBackPro stores it's profiles in, e.g. %LOCALAPPDATA%\SyncBack\. Note that this is not necessarily where the user has decided to store his profiles (you may have configured it to store them in %THISPATH%, for example). If SyncBackPro is being run from an external drive then it is the same as %THISPATH% %SYNCBACKBACKUPFOLDER% The default (not roaming) folder that SyncBackPro stores it's profile backup files in, e.g. C:\Users\[username] \AppData\Local\2BrightSparks\SyncBackPro\Profiles Backup\. Note that this is not necessarily where the user has decided to store his profile backups. If SyncBackPro is being run from an external drive then it is the same as %THISPATH%Profiles Backup\ There are several special variables than can be used to identify drives based on their label or serial number. These are very useful when using external USB drives, for example, which may have a different drive letter each time they are plugged-in: %LABEL=?% The entry is replaced by the drive letter with that label. For example, if your C drive is labeled My Disk then %LABEL=My Disk%Documents would be translated into C:\Documents. Note that you can only use one label per string but can use it multiple times. If more than one drive has the same label then it is undefined which drive will be used. %SERIAL=?% The entry is replaced by the drive letter with that serial number. For example, if your D drive has a serial number of BC46-F69E then %SERIAL=BC46-F69E% Program Files will be translated at runtime into D:\Program Files. Note that you can only use one serial per string but can use it multiple times. If more than one drive has the same serial number then it is undefined which drive will be used. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 471 SyncBackPro Help %HWSERIAL=?% The entry is replaced by the drive letter with that hardware serial number. There are important differences between the hardware serial number and the volume (also called a partition) serial number used by the variables SERIAL and DISKSERIAL. The volume serial number is changed every time a volume is formatted. However, the hardware serial number is stored in the drive hardware itself and never changes. Another important difference is that the hardware serial number is the same for all volumes on a physical drive. For example, if you have a hard drive you could have two volumes on it, e.g. C: and D:. The hardware serial numbers for the volumes C: and D: will be identical because they are stored on the same physical drive. Because of this you should not use a hardware serial number if there is more than one volume on the drive (because which volume is returned is undefined in that case). If the drive is one of two or more connected to a RAID controller then the RAID controller will likely (but not guaranteed) return the serial number of the first available drive in the RAID array. Note that you can only use one serial per string but can use it multiple times. %DISKLABEL% The label of the disk (volume) in the drive. This uses the beginning of the string to be expanded as the drive. For example, if you have the destination as D:\% DISKLABEL% then the DISKLABEL variable is replaced by the label of the D: drive. If you want to get the label of a specific drive you should use %LABEL=%, e.g. %LABEL=C%. This variable cannot be used in the email log text body. %DISKSERIAL% The unique serial number of the disk (volume) in the drive. See DISKLABEL above for notes on how it is used. If you want to get the serial number of a specific drive you should use %SERIAL=%, e.g. %SERIAL=C%. This variable cannot be used in the email log text body. %DISKHWSERIAL% The hardware serial number of the drive. Note that if the hardware serial number cannot be retrieved then the variable is not expanded. See DISKLABEL above for notes on how it is used. If you want to get the hardware serial number of a specific drive you should use %HWSERIAL=%, e.g. %HWSERIAL=C%. This variable cannot be used in the email log text body. %SMARTSTATUSSRC% If the profile is configured to log the S.M.A.R.T. status of the drives then this variable is set with the S.M.A.R.T. status of the source/left drive ( Pro version). The variable is set just before scanning for changes begins. %SMARTSTATUSDEST% If the profile is configured to log the S.M.A.R.T. status of the drives then this variable is set with the S.M.A.R.T. status of the destination/right drive ( Pro version). The variable is set just before scanning for changes begins. If you cannot find the relevant path using a CSIDL variable, see the FOLDERID variables below: %CSIDL_DESKTOP% The virtual folder representing the Windows desktop, the root of the namespace. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 472 %CSIDL_PROGRAMS% The file system directory that contains the user's program groups (which are themselves file system directories). A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\ %CSIDL_PERSONAL% The virtual folder representing the My Documents desktop item. A typical path is C:\Users\[username]\Documents\ %CSIDL_FAVORITES% The file system directory that serves as a common repository for the user's favorite items. A typical path is C:\Users\[username]\Favorites\ %CSIDL_STARTUP% The file system directory that corresponds to the user's Startup program group. The system starts these programs whenever any user logs onto Windows. A typical path is C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ %CSIDL_RECENT% The file system directory that contains shortcuts to the user's most recently used documents. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Recent\ %CSIDL_SENDTO% The file system directory that contains Send To menu items. A typical path is C:\Users\[username]\AppData\Roaming\Microsoft\Windows\SendTo\ %CSIDL_STARTMENU% The file system directory containing Start menu items. A typical path is C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\ %CSIDL_DESKTOPDIRECTORY% The file system directory used to physically store file objects on the desktop (not to be confused with the desktop folder itself). A typical path is C: \Users\[username]\Desktop\ %CSIDL_NETHOOD% A file system directory containing the link objects that may exist in the My Network Places virtual folder. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Network Shortcuts\ %CSIDL_FONTS% A virtual folder containing fonts. A typical path is C:\Windows\Fonts\ %CSIDL_TEMPLATES% The file system directory that serves as a common repository for document templates. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Templates\ %CSIDL_COMMON_STARTMENU% The file system directory that contains the programs and folders that appear on the Start menu for all users. A typical path is C: \ProgramData\Microsoft\Windows\Start Menu\ %CSIDL_COMMON_PROGRAMS% The file system directory that contains the directories for the common program groups that appear on the Start menu for all users. A typical path is C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 473 SyncBackPro Help %CSIDL_COMMON_STARTUP% The file system directory that contains the programs that appear in the Startup folder for all users. A typical path is C: \ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\ %CSIDL_COMMON_DESKTOPDIRECTORY% The file system directory that contains files and folders that appear on the desktop for all users. A typical path is C:\Users\Public\Desktop\ %CSIDL_APPDATA% The file system directory containing application data for all users. A typical path is C:\Users\[username]\AppData\Roaming\ %CSIDL_PRINTHOOD% The file system directory that contains the link objects that can exist in the Printers virtual folder. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Printer Shortcuts\ %CSIDL_LOCAL_APPDATA% The file system directory that serves as a data repository for local (non-roaming) applications. A typical path is C:\Users\[username]\AppData\Local\ %CSIDL_ALTSTARTUP% The file system directory that corresponds to the user's nonlocalized Startup program group. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ %CSIDL_COMMON_ALTSTARTUP% The file system directory that corresponds to the non-localized Startup program group for all users. A typical path is C: \ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\ %CSIDL_COMMON_FAVORITES% The file system directory that serves as a common repository for favorite items common to all users. A typical path is C:\Users\[username] \Favorites\ %CSIDL_INTERNET_CACHE% The file system directory that serves as a common repository for temporary Internet files. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\INetCache\ %CSIDL_COOKIES% The file system directory that serves as a common repository for Internet cookies. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\INetCookies\ %CSIDL_HISTORY% The file system directory that serves as a common repository for Internet history items. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\History\ %CSIDL_PROFILE% The user's profile folder. A typical path is C:\Users\[username]\ %CSIDL_COMMON_MUSIC% The file system directory that serves as a repository for music files common to all users. A typical path is C:\Users\Public\Music\ %CSIDL_MYMUSIC% The users music files folder. A typical path is C:\Users\[username] \Music\ © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 474 %CSIDL_COMMON_PICTURES% The file system directory that serves as a repository for image files common to all users. A typical path is C:\Users\Public\Pictures\ %CSIDL_MYPICTURES% The users image files folder. A typical path is C: \Users\[username]\Pictures\ %CSIDL_COMMON_VIDEO% The file system directory that serves as a repository for video files common to all users. A typical path is C:\Users\Public\Videos\ %CSIDL_MYVIDEO% The users video files folder. A typical path is C:\Users\[username] \Videos\ %CSIDL_CDBURN_AREA% The file system directory acting as a staging area for files waiting to be written to CD. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\Burn\Burn\ %CSIDL_WINDOWS% The Windows directory. This corresponds to the %windir% or % SYSTEMROOT% environment variables. A typical path is C:\Windows %CSIDL_SYSTEM% The Windows System folder. A typical path is C:\Windows\System32 for both 32-bit and 64-bit versions of Windows. %CSIDL_SYSTEMX86% The 32-bit Windows System folder (even if you are using 64-bit Windows). For 64-bit versions of Windows this may be C:\Windows\SYSWOW64 %CSIDL_PROGRAM_FILES% The program files folder. A typical path is C:\Program Files for both 32-bit and 64-bit versions of Windows. %CSIDL_PROGRAM_FILESX86% The 32-bit program files folder (even if you are using 64bit Windows). For 32-bit versions of Windows it is C:\Program Files and C:\Program Files (x86) for 64-bit versions of Windows. %CSIDL_PROGRAM_FILES_COMMON% A folder for components that are shared across applications. A typical path is C:\Program Files\Common. Valid only for Windows XP (which is not supported). %CSIDL_PROGRAM_FILES_COMMONX86% The folder for 32-bit components that are shared across applications (even if you are using 64-bit Window). Valid only for Windows XP (which is not supported). %CSIDL_COMMON_APPDATA% The file system directory containing application data for all users. A typical path is C:\ProgramData\ %CSIDL_2BS_APPDATA% This is the same as %SYNCBACKFOLDER% and % CSIDL_2BS_LOCAL_APPDATA% %CSIDL_2BS_LOCAL_APPDATA% This is the same as %SYNCBACKFOLDER% and % CSIDL_2BS_APPDATA% © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 475 SyncBackPro Help %CSIDL_2BS_ROAM_APPDATA% The default roaming (not local) folder that SyncBackPro would store it's profiles. This is not necessarily where the user has decided to store the profiles. %CSIDL_2BS_APPDATA_PROFILESBACKUP% This is the same as % SYNCBACKBACKUPFOLDER% and % CSIDL_2BS_LOCAL_APPDATA_PROFILESBACKUP% %CSIDL_2BS_LOCAL_APPDATA_PROFILESBACKUP% This is the same as % SYNCBACKBACKUPFOLDER% and %CSIDL_2BS_APPDATA_PROFILESBACKUP% %CSIDL_2BS_ROAM_APPDATA_PROFILESBACKUP% The default roaming (not local) folder that SyncBackPro would store backups of profiles. This is not necessarily where the user has decided to store the profile backups. The FOLDERID variables were introduced in SyncBack V10. They provide access to folders that are not covered by the CSIDL variables (above). %FOLDERID_ACCOUNTPICTURES% Account Pictures. A typical path is C: \Users\[username]\AppData\Roaming\Microsoft\Windows\AccountPictures\. This variable was introduced in V10. %FOLDERID_ADMINTOOLS% Administrative Tools. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools\. This variable was introduced in V10. %FOLDERID_APPDATADESKTOP% Application Data Desktop. A typical path is C: \Users\[username]\AppData\Local\Desktop\. This variable was introduced in V10. %FOLDERID_APPDATADOCUMENTS% Application Data Documents. A typical path is C: \Users\[username]\AppData\Local\Documents\. This variable was introduced in V10. %FOLDERID_APPDATAFAVORITES% Application Data Favorites. A typical path is C: \Users\[username]\AppData\Local\Favorites\. This variable was introduced in V10. %FOLDERID_APPDATAPROGRAMDATA% Application Data Program Data. A typical path is C:\Users\[username]\AppData\Local\ProgramData\. This variable was introduced in V10. %FOLDERID_APPLICATIONSHORTCUTS% Application Shortcuts. A typical path is C: \Users\[username]\AppData\Local\Microsoft\Windows\Application Shortcuts\. This variable was introduced in V10. %FOLDERID_CAMERAROLL% Camera Roll. A typical path is C:\Users\[username] \Pictures\Camera Roll\. This variable was introduced in V10. %FOLDERID_CONTACTS% Contacts. A typical path is C:\Users\[username]\Contacts\. This variable was introduced in V10. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 476 %FOLDERID_DEVICEMETADATASTORE% Device Metadata Store. A typical path is C: \ProgramData\Microsoft\Windows\DeviceMetadataStore\. This variable was introduced in V10. %FOLDERID_DOCUMENTSLIBRARY% Documents. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Libraries\Documents.library-ms\. This variable was introduced in V10. %FOLDERID_DOWNLOADS% Downloads. A typical path is C:\Users\[username] \Downloads\. This variable was introduced in V10. %FOLDERID_GAMETASKS% Game Explorer. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\GameExplorer\. This variable was introduced in V10. %FOLDERID_IMPLICITAPPSHORTCUTS% Implicit Application Shortcuts. A typical path is C:\Users\[username]\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts\. This variable was introduced in V10. %FOLDERID_LIBRARIES% Libraries. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Libraries\. This variable was introduced in V10. %FOLDERID_LINKS% Links. A typical path is C:\Users\[username]\Links\. This variable was introduced in V10. %FOLDERID_LOCALAPPDATALOW% Local Application Data (Low). A typical path is C: \Users\[username]\AppData\LocalLow\. This variable was introduced in V10. %FOLDERID_MUSICLIBRARY% Music. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Libraries\Music.library-ms\. This variable was introduced in V10. %FOLDERID_OBJECTS3D% 3D Objects. A typical path is C:\Users\[username]\3D Objects\. This variable was introduced in V10. %FOLDERID_ORIGINALIMAGES% Original Images. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows Photo Gallery\Original Images\. This variable was introduced in V10. %FOLDERID_PHOTOALBUMS% Slide Shows. A typical path is C:\Users\[username] \Pictures\Slide Shows\. This variable was introduced in V10. %FOLDERID_PICTURESLIBRARY% Pictures. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Libraries\Pictures.library-ms\. This variable was introduced in V10. %FOLDERID_PLAYLISTS% Playlists. A typical path is C:\Users\[username] \Music\Playlists\. This variable was introduced in V10. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 477 SyncBackPro Help %FOLDERID_PUBLIC% Public. A typical path is C:\Users\Public\. This variable was introduced in V10. %FOLDERID_PUBLICDOWNLOADS% Public Downloads. A typical path is C: \Users\Public\Downloads\. This variable was introduced in V10. %FOLDERID_PUBLICGAMETASKS% Game Explorer. A typical path is C: \ProgramData\Microsoft\Windows\GameExplorer\. This variable was introduced in V10. %FOLDERID_PUBLICLIBRARIES% Libraries. A typical path is C:\Users\Public\Libraries\. This variable was introduced in V10. %FOLDERID_PUBLICRINGTONES% Ringtones. This variable was introduced in V10. %FOLDERID_PUBLICUSERTILES% Public Account Pictures. A typical path is C: \Users\Public\AccountPictures\. This variable was introduced in V10. %FOLDERID_QUICKLAUNCH% Quick Launch. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\. This variable was introduced in V10. %FOLDERID_RECORDEDTVLIBRARY% Recorded TV. A typical path is C: \Users\Public\Libraries\RecordedTV.library-ms\. This variable was introduced in V10. %FOLDERID_RINGTONES% Ringtones. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\Ringtones\. This variable was introduced in V10. %FOLDERID_ROAMEDTILEIMAGES% Roamed Tile Images. A typical path is C: \Users\[username]\AppData\Local\Microsoft\Windows\RoamedTileImages\. This variable was introduced in V10. %FOLDERID_ROAMINGTILES% Roaming Tiles. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\RoamingTiles\. This variable was introduced in V10. %FOLDERID_SAMPLEMUSIC% Sample Music. A typical path is C: \Users\Public\Music\Sample Music\. This variable was introduced in V10. %FOLDERID_SAMPLEPICTURES% Sample Pictures. A typical path is C: \Users\Public\Pictures\Sample Pictures\. This variable was introduced in V10. %FOLDERID_SAMPLEVIDEOS% Sample Videos. A typical path is C: \Users\Public\Videos\Sample Videos\. This variable was introduced in V10. %FOLDERID_SAVEDGAMES% Saved Games. A typical path is C:\Users\[username]\Saved Games\. This variable was introduced in V10. %FOLDERID_SAVEDPICTURES% Saved Pictures. This variable was introduced in V10. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 478 %FOLDERID_SAVEDPICTURESLIBRARY% Saved Pictures Library. A typical path is C: \Users\[username]\AppData\Roaming\Microsoft\Windows\Libraries\SavedPictures.libraryms\. This variable was introduced in V10. %FOLDERID_SAVEDSEARCHES% Searches. A typical path is C:\Users\[username] \Searches\. This variable was introduced in V10. %FOLDERID_SCREENSHOTS% Screenshots. A typical path is C:\Users\[username] \Pictures\Screenshots\. This variable was introduced in V10. %FOLDERID_SEARCHHISTORY% History. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\ConnectedSearch\History\. This variable was introduced in V10. %FOLDERID_SEARCHTEMPLATES% Templates. A typical path is C:\Users\[username] \AppData\Local\Microsoft\Windows\ConnectedSearch\Templates\. This variable was introduced in V10. %FOLDERID_SKYDRIVE% OneDrive. A typical path is C:\Users\[username]\OneDrive\. This variable was introduced in V10. %FOLDERID_SKYDRIVECAMERAROLL% Camera Roll (on OneDrive). A typical path is C: \Users\[username]\OneDrive\Pictures\Camera Roll\. This variable was introduced in V10. %FOLDERID_SKYDRIVEDOCUMENTS% Documents (on OneDrive). A typical path is C: \Users\[username]\OneDrive\Documents\. This variable was introduced in V10. %FOLDERID_SKYDRIVEPICTURES% Pictures (on OneDrive). A typical path is C: \Users\[username]\OneDrive\Pictures\. This variable was introduced in V10. %FOLDERID_USERPINNED% User Pinned. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\. This variable was introduced in V10. %FOLDERID_USERPROFILES% Users. A typical path is C:\Users\. This variable was introduced in V10. %FOLDERID_USERPROGRAMFILES% Programs. A typical path is C:\Users\[username] \AppData\Local\Programs\. This variable was introduced in V10. %FOLDERID_USERPROGRAMFILESCOMMON% Programs. A typical path is C: \Users\[username]\AppData\Local\Programs\Common\. This variable was introduced in V10. %FOLDERID_VIDEOSLIBRARY% Videos. A typical path is C:\Users\[username] \AppData\Roaming\Microsoft\Windows\Libraries\Videos.library-ms\. This variable was introduced in V10. Misc. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 479 SyncBackPro Help %SBVERSION% The complete version number of the SyncBackPro program itself, e.g. 9.0.3.0 %SBLATESTVERSION% The complete version number of the latest version of SyncBackPro, e.g. 9.1.7.0. IMPORTANT: This will check online what the latest version number is so an Internet connection is required. The latest version number is cached and not updated more than once every 30 minutes. %SBNEWVERSION% Returns Y if a newer version of SyncBackPro is available for download else returns N. IMPORTANT: This will check online what the latest version number is so an Internet connection is required. An update check is not performed more than once every 30 minutes. %PROFILENAME% The profile name. This can be used in the source/left and/or destination/right path. %GROUPNAME% The group name. This can be used in the source/left and/or destination/right path. If the profile is not being run as part of a group then the value returned is an empty string. See also %VISUALGROUPNAME% %ISINTEGRITYCHECK% If the current profile run is a file integrity check run, then Y is returned, else N. This variable is new to V8. %CONTAINERMOUNT% If a VHD/X file is being used, then this is the path where the container is mounted. This is typically used in the source or destination path. This variable is new to V8. %CRLF% Replaced with ASCII 13 (Carriage Return) and ASCII 10 (Line Feed). This is used to end a line and start a new one in Windows. This variable name is case-sensitive, so you cannot use %crlf%, for example. This variable is new to V9.3.7.0. %CR% Replaced with ASCII 13 (Carriage Return). This variable name is case-sensitive. This variable is new to V9.3.7.0. %LF% Replaced with ASCII 10 (Line Feed). This variable name is case-sensitive. This variable is new to V9.3.7.0. Backup email Some special variables can be used in the EML filename and sub-folder when performing a backup of email (Pro version only). %EMAIL_ID% Unique email message ID. The format is decided by the email server. Note that this value can be empty so you may wish to use EMAIL_IDORMD5 instead. %EMAIL_MD5% The MD5 hash value of the email header. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 480 %EMAIL_IDORMD5% If the email has a message ID, then it is the message ID, otherwise it is the MD5 hash value of the header. %EMAIL_UIDL% MD5 hash value of unique email ID, also called the UIDL. Note that it is unique for the email folder it is in. For POP3 this is ENVSPECIAL_S_EMAIL_IDORMD5 as POP3 does not have unique UIDL values for emails. %EMAIL_SUBJECT% Email subject. Note that the subject can be very long, so it is recommended that you let SyncBackPro truncate it by using %EMAIL_SUBJECT32% or % EMAIL_SUBJECT64% %EMAIL_SUBJECT32% The first 32 characters of the email subject. %EMAIL_SUBJECT64% The first 64 characters of the email subject. %EMAIL_SIZE% Size of email in bytes. This is not the size of the EML file. %EMAIL_DATE% Date email sent. The format used is the short date format set in Windows. %EMAIL_TIME% Time email sent. The format used is the long time format set in Windows. %EMAIL_DATEYEAR% Date email sent (year). %EMAIL_DATEMONTH% Date email sent (month). This is always two digits, e.g. 03 for April. %EMAIL_DATEDAY% Date email sent (day). This is always two digits, e.g. 05 for the 5th day of the month. %EMAIL_DATEHOUR% Date email sent (hour) in 24-hour format. This is always two digits, e.g. 09 for 9am. %EMAIL_DATEMIN% Date email sent (minute). This is always two digits, e.g. 05 for 5 minutes past the hour. %EMAIL_DATESEC% Date email sent (second). This is always two digits, e.g. 03 for 3 seconds past the minute. %EMAIL_FROMNAME% From friendly name. If there is no sender's friendly name then the email address is returned (as per %EMAIL_FROMADDRESS%). %EMAIL_FROMADDRESS% From email address. %EMAIL_REPLYTO% Email address to reply to. %EMAIL_FIRSTTONAME% To friendly name (of first recipient). Note that an email can be sent to more than one person, so this refers to the first person in the To list. If there is no friendly name then the email address is returned (as per %EMAIL_FIRSTTOADDRESS%). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 481 SyncBackPro Help %EMAIL_FIRSTTOADDRESS% To email address (of first recipient). Note that an email can be sent to more than one email address, so this refers to the first email address in the To list. %EMAIL_IMAPFOLDER% The name of the IMAP4/Exchange folder the email is being retrieved from. Note that this will be an empty string if POP3 is being used. The value is modified to ensure it is a valid Windows file/folder name. This means it can be used in the EML filename and sub-folder settings. Starting with SyncBackPro V7 you can backup multiple email folders in the same profile, so this value may change during the profile run. Emailing the log and late setting variables There are a number of special variables that cannot be used in the source or destination settings, for example, because their value is not set until the profile is run (or at some later stage during the profile run). Some variables values are not set until near the end of a profile run. Because of this they can only be used correct in certain settings, e.g. the email body. %_SOURCE% The source/left path. %_DESTINATION% The destination/right path. %LOGFILENAME% Filename of first page of latest log file. This is not set until the log file is closed, so it can only be used in Run After when the profile has been configured to run the 'after' program after the log file has been closed. %SNAPSOURCE% If a shadow volume is being used to copy locked files from the source/left then this is the path of that shadow volume. %SNAPDEST% If a shadow volume is being used to copy locked files from the destination/right then this is the path of that shadow volume. %VISUALGROUPNAME% If the profile is part of a group, and it is run on its own from the main user interface (not necessarily as part of the group), then this is the name of the group. It is different from %GROUPNAME% because that value is only set if it is run as part of a group. %ISFULLBACKUP% If this is a full-backup, i.e. a rescan is being done of the destination, then this is Y, else N %ISUNATTENDED% If this is an unattended profile run then Y is returned, else N %ISRESTORE% If this is a restore then Y is returned, else N %ISSIMULATION% If this is a simulated run then Y is returned, else N %RUNRESULT% A textual description of the result of the profile run, e.g. Success, Failure, Aborted, Timelimit Reached, etc. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 482 %PROFILEFAILED% If the profile run was a success then 0 is returned, else 1 is returned on error/abort (this is the same variable that can be used in Run After). %ATTACHMENTSTOTAL% The total number of attachments for the email. %CRITICALERROR% If there was a critical error then this is the error message, otherwise it is an empty string. %DELETEDTOTAL% The total number of files that were deleted. %SKIPPEDTOTAL% The total number of files that were skipped, e.g. only in the destination and the profile was configured to ignore files that are only in the destination. %COPIEDTOTAL% The total number of files that were copied. %MOVEDTOTAL% The total number of files that were moved. %DATECHANGEDTOTAL% The total number of files whose last modification date & time were copied. %ATTRIBCHANGEDTOTAL% The total number of files whose attributes were copied. %SECURITYCHANGEDTOTAL% The total number of files and folders whose security was changed. %RUNBEFOREERROR% If the Run Before program failed (e.g. because it doesn't exist, or couldn't be started) then this is the error message. %RUNAFTERERROR% If the Run After program failed (e.g. because it doesn't exist, or couldn't be started) then this is the error message. %COPYERRORSTOTAL% The total number of file copy/delete errors. %COMPRESSERRORSTOTAL% The total number of errors related to compression. %NONCRITICALERRORSTOTAL% The total number of non-critical errors. Starting with V9, this always returns 0. Use %WARNINGSTOTAL% instead. %WARNINGSTOTAL% The total number of warnings. %STARTTIME% The date & time the profile was ready to run. If the profile was started as a part of a group then the date & time returned by this variable is not necessarily the date & time the profile actually started (for that see %STARTTIME2%). When a group (that is set to run profiles serially and not in parallel) is run SyncBackPro prepares all the profiles in the group so they can be started immediately once the proceeding profile has finished. So the % STARTTIME% value is the date & time when the profile was prepared but not necessarily started. To get the date & time when the profile was actually started use the variable % STARTTIME2%. If the profile is not part of a group then the time returned by %STARTTIME% and %STARTTIME2% will be almost identical. To get the date & time when the group was © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 483 SyncBackPro Help started (if the profile was run as part of a group) use the variable %GROUPSTARTTIME%. If you ran a group with just one profile in it then the times returned by %STARTTIME%, % STARTTIME2%, and %GROUPSTARTTIME% would be almost identical. %STARTTIME2% The date & time the profile actually started to run. See %STARTTIME% for an explanation of the differences between that variable and this. %GROUPSTARTTIME% The date & time when the (root) group started. If the profile is not part of a group then an empty string is returned. You can have groups within groups, so this is the date & time when the root group started. To get the date & time when the profile started see %STARTTIME% and %STARTTIME2%. See %STARTTIME% for an explanation of the differences between the three start time variables. %ENDTIME% The date & time the profile completed. %TOTALTIME% The amount of time between %STARTTIME% and %ENDTIME%, e.g. 5 hours 15 mins. 30 secs. This value isn't set until just before the log file is closed. %TOTALTIME2% The amount of time between %STARTTIME2% and %ENDTIME%. This value isn't set until just before the log file is closed. %STARTSCANTIME% The date & time the scan for changes started. %ENDSCANTIME% The date & time the scan for changed ended. %TOTALSCANTIME% The amount of time between %STARTSCANTIME% and % ENDSCANTIME%, e.g. 3 mins. 2 secs. %TOTALPAUSETIME% Total time (in seconds) the profile was paused. The variable is not set until just before the log file is created. %BYTESCOPIED% The total number of bytes that were copied. See also % KBYTESCOPIED% and %MBYTESCOPIED%. %KBYTESCOPIED% The total number of kilobytes that were copied. This is a whole (integer) number that is rounded up or down as appropriate. %MBYTESCOPIED% The total number of megabytes that were copied. This is a whole (integer) number that is rounded up or down as appropriate. %BYTESDELETED% The total number of bytes that were deleted. See also % KBYTESDELETED% and %MBYTESDELETED%. %KBYTESDELETED% The total number of kilobytes that were deleted. This is a whole (integer) number that is rounded up or down as appropriate. %MBYTESDELETED% The total number of megabytes that were deleted. This is a whole (integer) number that is rounded up or down as appropriate. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 484 %BYTESREPLACED% The total number of bytes that were replaced/overwritten. See also %KBYTESREPLACED% and %MBYTESREPLACED%. %KBYTESREPLACED% The total number of kilobytes that were replaced/overwritten. This is a whole (integer) number that is rounded up or down as appropriate. %MBYTESREPLACED% The total number of megabytes that were replaced/overwritten. This is a whole (integer) number that is rounded up or down as appropriate. %COMPAREFILES% The total number of unique files that SyncBack has found (source/left and destination/right combined). This excludes filtered out files and other files not included based on the profile settings. If a file is in both the source and destination then it only counts as one file. For example, if there are 3 files in the source/left and 2 files in the destination/right (which are the same as the source files) then %COMPAREFILES% will be 3. An alternative way to think of this is that it's the number of files shown in the Differences window (with no display filtering). %COMPAREDIRS% The total number of unique directories that SyncBack has found (source/left and destination/right combined). This excludes filtered out directories and other directories not included based on the profile settings. Note that the base directory itself counts as a directory, so the value will be 1 at a minimum. If a directory is in both the source/left and destination/right then it only counts as one directory. For example, if there are 3 directories in the source/left and 2 directories in the destination/right (which are the same as the source/left directories) then %COMPAREDIRS% will be 4 (the base directory plus the 3 unique directories). %COMPARECHANGEDTOTAL% The total number of files that have changed. %COMPAREHASHCHANGEDTOTAL% The total number of files which have different hash values. %COMPAREDESTONLYTOTAL% The total number of files in the destination only. %COMPARESOURCEONLYTOTAL% The total number of files in the source only. %COMPAREDATETIMETOTAL% The total number of files whose last modification date & time is different. %COMPARECREATEDATETIMETOTAL% The total number of files whose creation modification date & time is different. %COMPAREACCESSDATETIMETOTAL% The total number of files whose last access date & time is different. This variable was introduced in V10. %COMPARENTFSSECURITYTOTAL% The total number of files NTFS file security is different. %COMPARESIZETOTAL% The total number of files whose size is different. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 485 SyncBackPro Help %COMPAREATTRIBTOTAL% The total number of files whose attributes are different. %COMPARECASETOTAL% The total number of files whose filename case are different, e.g. the source file is called ABC and the destination file is called abc. %COMPAREHASHERRORTOTAL% The total number of files whose hash value could not be calculated to compare them. %TOSKIPCNT% The number of files that are going to be skipped. %TOPROMPTCNT% The number of files where the user will be prompted on the action to take. %TODELETESRCCNT% The total number of files that are to be deleted from the source/left. Files that are to be moved to the destination/right do not count. %TODELETESRCONLYCNT% The total number of files that are to be deleted from the source/left that are only on the source/left. Files that are to be moved to the destination/right do not count. This is different from %TODELETESRCCNT% because it does not include files that are both in the source/left and destination/right. %TODELETEDESTCNT% The total number of files that are to be deleted from the destination/right. Files that are to be moved to the source/left do not count. %TODELETEDESTONLYCNT% The total number of files that are to be deleted from the destination/right that are only on the destination/right. Files that are to be moved to the source/left do not count. This is different from %TODELETEDESTCNT% because it does not include files that are both in the source/left and destination/right. %TODELETEBOTHCNT% The total number of files that are to be deleted from both the source/left and destination/right. Files that are to be moved do not count. %TOCOPYTODESTCNT% The number of files to be copied to the destination/right. %TOCOPYTOSRCCNT% The number of files to be copied to the source/left. %TOMOVETODESTCNT% The number of files to be moved to the destination/right. %TOMOVETOSRCCNT% The number of files to be moved to the source/left. %TOREPLACEDESTCNT% The number of files to be replaced on the destination/right. This variable is new to V8. %TOREPLACESRCCNT% The number of files to be replaced on the source/left. This variable is new to V8. %TOCHANGESRCATTRIBSCNT% The number of files in the source/left that will have their attributes/date & time changed. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 486 %TOCHANGEDESTATTRIBSCNT% The number of files in the destination/right that will have their attributes/date & time changed. %TORENAMESRCCNT% The number of files in the source/left that will be renamed. %TORENAMEDESTCNT% The number of files in the destination/right that will be renamed. %BYTESCOPYTOSRC% The total number of bytes to be copied (includes moved files) to the source/left. %KBYTESCOPYTOSRC% The total number of kilobytes to be copied (includes moved files) to the source/left. This is a whole (integer) number that is rounded up or down as appropriate. %MBYTESCOPYTOSRC% The total number of megabytes to be copied (includes moved files) to the source/left. This is a whole (integer) number that is rounded up or down as appropriate. %BYTESCOPYTODEST% The total number of bytes to be copied (includes moved files) to the destination/right. %KBYTESCOPYTODEST% The total number of kilobytes to be copied (includes moved files) to the destination/right. This is a whole (integer) number that is rounded up or down as appropriate. %MBYTESCOPYTODEST% The total number of megabytes to be copied (includes moved files) to the destination/right. This is a whole (integer) number that is rounded up or down as appropriate. %BYTESDELETEFROMSRC% The total number of bytes to be deleted (includes moved files) from the source/left. %KBYTESDELETEFROMSRC% The total number of kilobytes to be deleted (includes moved files) from the source/left. This is a whole (integer) number that is rounded up or down as appropriate. %MBYTESDELETEFROMSRC% The total number of megabytes to be deleted (includes moved files) from the source/left. This is a whole (integer) number that is rounded up or down as appropriate. %BYTESDELETEFROMDEST% The total number of bytes to be deleted (includes moved files) from the destination/right. %KBYTESDELETEFROMDEST% The total number of bytes to be deleted (includes moved files) from the destination/right. This is a whole (integer) number that is rounded up or down as appropriate. %MBYTESDELETEFROMDEST% The total number of bytes to be deleted (includes moved files) from the destination/right. This is a whole (integer) number that is rounded up or down as appropriate. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 487 SyncBackPro Help %PAGE% Used only in log filename. %COMPAREDIRSCHANGEDTOTAL% The number of directories that have been changed. %COMPAREDIRSDESTONLYTOTAL% The number of directories that are only in the destination. %COMPAREDIRSSOURCEONLYTOTAL% The number of directories that are only in the source. %FTPCONNECTCNT% The number of (re)connections made to the FTP server. %VERSIONSRESTOREDTOTAL% The total number of versions restored. %VERSIONSCREATEDTOTAL% The total number of versions created. This variable was introduced with V10. %VERSIONSCREATEDSRC% The total number of versions created in the source. This variable was introduced with V10. %VERSIONSCREATEDDEST% The total number of versions created in the destination. This variable was introduced with V10. %COMPAREUNCHANGEDTOTAL% The total number of unchanged files %TORESTOREVERSRCCNT% The total number of versions files to be restored on the source/left %TORESTOREVERDESTCNT% The total number of versions files to be restored on the destination/right %FREEBYTESSOURCEBEFORE% The number of free bytes on the source/left before the profile started copying, moving, and deleting files %FREEKBYTESSOURCEBEFORE% The number of free kilobytes on the source/left before the profile started copying, moving, and deleting files. This is a whole (integer) number that is rounded up or down as appropriate. %FREEMBYTESSOURCEBEFORE% The number of free megabytes on the source/left before the profile started copying, moving, and deleting files. This is a whole (integer) number that is rounded up or down as appropriate. %FREEBYTESDESTBEFORE% The number of free bytes on the destination/right before the profile started copying, moving, and deleting files %FREEKBYTESDESTBEFORE% The number of free kilobytes on the destination/right before the profile started copying, moving, and deleting files. This is a whole (integer) number that is rounded up or down as appropriate. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 488 %FREEMBYTESDESTBEFORE% The number of free megabytes on the destination/right before the profile started copying, moving, and deleting files. This is a whole (integer) number that is rounded up or down as appropriate. %SOURCESIZEBYTES% The total size (in bytes) of files that SyncBack has found in the source/left. This excludes filtered out files and other files not included based on the profile settings. %DESTSIZEBYTES% The total size (in bytes) of files that SyncBack has found in the destination/right. This excludes filtered out files and other files not included based on the profile settings. Registry As well as variables, you can also get values from the registry. For example, the following will retrieve the current version of Firefox that is installed: %@HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\CurrentVersion% To get values from the registry you must use %@ followed by one of the following (these define which part of the registry to read): HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_PERFORMANCE_DATA HKEY_CURRENT_CONFIG HKEY_DYN_DATA Then specify the path in the registry, e.g. \SOFTWARE\Mozilla\Mozilla Firefox\CurrentVersion, and finally finish with a single percentage sign (%). If there is no such value in the registry then the variable is not expanded. If you are using a 64-bit version of Windows but a 32-bit version of SyncBackPro then it will read from the 32-bit registry by default. To read from the 64-bit registry you must use %64@, e.g. %64@HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\CurrentVersion% If you are a 32-bit version of Windows, and try to read from the 64-bit registry, then it will instead try to get the value from the 32-bit registry (because there is no 64-bit registry on 32bit versions of Windows). Because of this it is recommend that you always use %64@ instead of %@ because it will work correctly on both 64-bit and 32-bit versions of Windows. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 489 SyncBackPro Help SyncBack Touch variables When using a SyncBack Touch device you can use some special variables in the path (source or destination, depending on which is using SyncBack Touch). They can only be used in the path and nowhere else. These variables are expanded by SyncBack Touch on the remote device and not locally, so they are only expanded when the profile is run. All the variables start with SBT_ so it's clear to see if it's a SyncBack Touch variable. You can also get the value of any environment variable that the remote SyncBack Touch process has access to. To do this simply prefix the remote environment variable with SBT_ENV_. For example, to get the PATH environment variable use %SBT_ENV_PATH%. Note that this functionality was introduced in SyncBack Touch V1.3.11 and later. %SBT_VERSION% The version number of the SyncBack Touch software on the device, e.g. 1.0.0.0 %SBT_COMMON_MUSIC% The shared music folder on the device running SyncBack Touch. On Windows this is %CSIDL_COMMON_MUSIC% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. %SBT_COMMON_PICTURES% The shared pictures folder on the device running SyncBack Touch. On Windows this is %CSIDL_COMMON_PICTURES% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. %SBT_COMMON_VIDEO% The shared videos folder on the device running SyncBack Touch. On Windows this is %CSIDL_COMMON_VIDEO% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. %SBT_COMMON_APPDATA% The shared downloads folder on the device running SyncBack Touch. On Windows this is %CSIDL_COMMON_APPDATA% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. %SBT_MYMUSIC% The personal music folder of the user account running SyncBack Touch. On Windows this is %CSIDL_MYMUSIC% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. %SBT_MYVIDEO% The personal video folder of the user account running SyncBack Touch. On Windows this is %CSIDL_MYVIDEO% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. %SBT_MYPICTURES% The personal pictures folder of the user account running SyncBack Touch. On Windows this is %CSIDL_MYPICTURES% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 490 %SBT_LOCAL_APPDATA% The personal downloads folder of the user account running SyncBack Touch. On Windows this is %CSIDL_LOCAL_APPDATA% (see the Drives, Files, and Folders section above). On non-Windows operating systems it will be returned as appropriate. %SBT_DESKTOP% If the SyncBack Touch device is running on Windows then this is % CSIDL_DESKTOP%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PROGRAMS% If the SyncBack Touch device is running on Windows then this is % CSIDL_PROGRAMS%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PERSONAL% If the SyncBack Touch device is running on Windows then this is % CSIDL_PERSONAL%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_FAVORITES% If the SyncBack Touch device is running on Windows then this is % CSIDL_FAVORITES%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_STARTUP% If the SyncBack Touch device is running on Windows then this is % CSIDL_STARTUP%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_RECENT% If the SyncBack Touch device is running on Windows then this is % CSIDL_RECENT%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_SENDTO% If the SyncBack Touch device is running on Windows then this is % CSIDL_SENDTO%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_STARTMENU% If the SyncBack Touch device is running on Windows then this is % CSIDL_STARTMENU%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_DESKTOPDIRECTORY% If the SyncBack Touch device is running on Windows then this is %CSIDL_DESKTOPDIRECTORY%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_NETHOOD% If the SyncBack Touch device is running on Windows then this is % CSIDL_NETHOOD%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 491 SyncBackPro Help %SBT_FONTS% If the SyncBack Touch device is running on Windows then this is % CSIDL_FONTS%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_TEMPLATES% If the SyncBack Touch device is running on Windows then this is % CSIDL_TEMPLATES%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_COMMON_STARTMENU% If the SyncBack Touch device is running on Windows then this is %CSIDL_COMMON_STARTMENU%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_COMMON_PROGRAMS% If the SyncBack Touch device is running on Windows then this is %CSIDL_COMMON_PROGRAMS%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_COMMON_STARTUP% If the SyncBack Touch device is running on Windows then this is %CSIDL_COMMON_STARTUP%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_COMMON_DESKTOPDIRECTORY% If the SyncBack Touch device is running on Windows then this is %CSIDL_COMMON_DESKTOPDIRECTORY%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_APPDATA% If the SyncBack Touch device is running on Windows then this is % CSIDL_APPDATA%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PRINTHOOD% If the SyncBack Touch device is running on Windows then this is % CSIDL_PRINTHOOD%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_ALTSTARTUP% If the SyncBack Touch device is running on Windows then this is % CSIDL_ALTSTARTUP%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_COMMON_ALTSTARTUP% If the SyncBack Touch device is running on Windows then this is %CSIDL_COMMON_ALTSTARTUP%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_COMMON_FAVORITES% If the SyncBack Touch device is running on Windows then this is %CSIDL_COMMON_FAVORITES%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 492 %SBT_INTERNET_CACHE% If the SyncBack Touch device is running on Windows then this is %CSIDL_INTERNET_CACHE%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_COOKIES% If the SyncBack Touch device is running on Windows then this is % CSIDL_COOKIES%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_HISTORY% If the SyncBack Touch device is running on Windows then this is % CSIDL_HISTORY%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PROFILE% If the SyncBack Touch device is running on Windows then this is % CSIDL_PROFILE%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_CDBURN_AREA% If the SyncBack Touch device is running on Windows then this is %CSIDL_CDBURN_AREA%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_WINDOWS% If the SyncBack Touch device is running on Windows then this is % CSIDL_WINDOWS%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PROGRAM_FILES% If the SyncBack Touch device is running on Windows then this is %CSIDL_PROGRAM_FILES%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PROGRAM_FILESX86% If the SyncBack Touch device is running on Windows then this is %CSIDL_PROGRAM_FILESX86%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PROGRAM_FILES_COMMON% If the SyncBack Touch device is running on Windows then this is %CSIDL_PROGRAM_FILES_COMMON%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_PROGRAM_FILES_COMMONX86% If the SyncBack Touch device is running on Windows then this is %CSIDL_PROGRAM_FILES_COMMONX86%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_SYSTEM% If the SyncBack Touch device is running on Windows then this is % CSIDL_SYSTEM%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 493 SyncBackPro Help %SBT_SYSTEMX86% If the SyncBack Touch device is running on Windows then this is % CSIDL_SYSTEMX86%. See the Drives, Files, and Folders section above. For other device types, e.g. macOS, then this variable is invalid and will not be expanded. %SBT_EXTSDCARD% If the SyncBack Touch device is running on Android then this is the path to the external SD card (if available). The following variables are used with SyncBack Touch profiles but are evaluated by SyncBack itself and not on the SyncBack Touch device: %SBTNAME% The name (or hostname or IP address, depending on what is set in the profile) of the SyncBack Touch device. %SBTUSERNAME% The username used to connect to the SyncBack Touch device. %BYTESSAVEDDELTAUPLOAD% When using delta-copy upload/download with SyncBack Touch, this is the total number of bytes that were saved by using delta-copy. Saved means in terms of bytes that were not sent over the network. You can use these variables to determine if it is worth using delta-copy with SyncBack Touch. Introduced in V10. %KBYTESSAVEDDELTAUPLOAD% This is the KBytes representation of % BYTESSAVEDDELTAUPLOAD%. %MBYTESSAVEDDELTAUPLOAD% This is the MBytes representation of % BYTESSAVEDDELTAUPLOAD%. %BYTESSAVEDDELTADOWNLOAD% When using delta-copy upload/download with SyncBack Touch, this is the total number of bytes that were saved by using delta-copy. Saved means in terms of bytes that were not received over the network. You can use these variables to determine if it is worth using delta-copy with SyncBack Touch.. Introduced in V10. %KBYTESSAVEDDELTADOWNLOAD% This is the KBytes representation of % BYTESSAVEDDELTADOWNLOAD%.. %MBYTESSAVEDDELTADOWNLOAD% This is the MBytes representation of % BYTESSAVEDDELTADOWNLOAD%.. Order of evaluation Variables are evaluated in the following order: 1. Registry variables 2. Windows environment variables 3. User defined (profile and group) variables and run-time variables, e.g. %PROFILENAME% 4. Group variables 5. SyncBack variables 6. SyncBack Touch variables © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 494 If a user defined profile variable has the same name as a user defined group variable then the profile variable replaces the group variable. Important note about Variable usage An important point to remember is that Windows has its own environment variables, e.g. % USERNAME%. When these variables are used in a batch file, or on the command line, then Windows automatically expands them. Unknown variables are simply deleted. For example, if you had the following batch file: @echo off "c:\program files\2brightsparks\SyncBackPro\SyncBackPro.exe" -source "x:\%DAY%\" Then when run it would actually be expanded to do the following: @echo off "c:\program files\2brightsparks\SyncBackPro\SyncBackPro.exe" -source "x:\\" Note that the %DAY% has been removed because it's an unknown Windows variable (it's a SyncBackPro variable). To stop Windows from changing SyncBackPro variables you must use two percentage signs, e.g. @echo off "c:\program files\2brightsparks\SyncBackPro\SyncBackPro.exe" -source "x:\%%DAY%%\" 3.5.8 All Content: 2BrightSparks Pte Ltd © 2003-2021 Regular Expressions Regular Expression Filters in SyncBackPro This section of the help file provides information and guidance about regular expression filters. Regular expressions are a system for matching patterns in text data. They provide a powerful set of tools for finding particular words or combinations of characters in strings. Note that by default SyncBackPro will be case insensitive with the filters and it is not recommended that you use case sensitivity (via the modifiers). You also need to keep in mind that regular expressions can match any part of a filename, unlike DOS expressions which must match the entire filename. SyncBackPro works with line separators as recommended at www.unicode.org, however there are no line separators within a filename. To add flexibility, SyncBackPro adds the backslash character (\) as a line separator. This means that filenames are essentially broken down into their parts with each part being treated as a separate line. See the Line Separator section below on how this is useful. Important: 2BrightSparks cannot provide technical support for helping you create regular expressions. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 495 SyncBackPro Help Simple matches Any single character matches itself, unless it is a meta-character with a special meaning described below. A series of characters matches that series of characters in the target string, so the pattern blah would match blah in the target string. You can cause characters that normally function as meta-characters or escape sequences to be interpreted literally by 'escaping' them by preceding them with a backslash (\), for instance: meta-character ^ match beginning of string, but \^ match character ^, \\ match \ and so on. Examples: foobar matches string foobar \^FooBarPtr matches ^FooBarPtr Escape sequences Characters may be specified using escape sequences syntax much like that used in C and Perl: \n matches a newline, \t a tab, etc. More generally, \xnn, where nn is a string of hexadecimal digits, matches the character whose ASCII value is nn. If you need a Unicode character code, you can use \x{nnnn} where nnnn is one or more hexadecimal digits. \xnn \x{nnnn} Unicode) \t \n \r \f \a \e character with hex code nn character with hex code nnnn (one byte for plain text and two bytes for tab (HT/TAB), same as \x09 newline (NL), same as \x0a carriage return (CR), same as \x0d form feed (FF), same as \x0c alarm (bell) (BEL), same as \x07 escape (ESC), same as \x1b Examples: foo\x20bar matches foo bar (note space in the middle) \tfoobar matches foobar predefined by tab Character classes You can specify a character class, by enclosing a list of characters in square brackets ([ ]), which will match any one character from the list. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 496 If the first character after the opening square bracket [ is ^, the class matches any character not in the list. Examples: foob[aeiou]r finds strings foobar, foober, etc. but not foobbr, foobcr, etc. foob[^aeiou]r finds strings foobbr, foobcr, etc. but not foobar, foober, etc. Within a list, the dash/minus character - is used to specify a range, so that a-z represents all characters between a and z, inclusive. If you want - itself to be a member of a class, put it at the start or end of the list, or escape it with a backslash. If you want a closing square bracket ] then you may place it at the start of list or escape it with a backslash. Examples: [-az] [az-] [a\-z] [a-z] [\n-\x0D] [\d-t] []-a] matches a, z and matches a, z and matches a, z and matches all twenty six small characters from a to z matches any of #10, #11, #12, #13 matches any digit, - or t matches any character from ] to a Meta-characters Meta-characters are special characters which are the essence of Regular Expressions. There are different types of meta-characters, described below. Meta-characters - line separators ^ start of line $ end of line \A start of text \Z end of text . any character in line Examples: ^foobar foobar$ ^foobar$ foob.r matches string foobar only if it's at the beginning of line matches string foobar only if it's at the end of line matches string foobar only if it's the only string in line matches strings like foobar, foobbr, foob1r and so on © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 497 SyncBackPro Help The ^ meta-character by default is only guaranteed to match at the beginning of the input string/text, the $ meta-character only at the end. Embedded line separators will not be matched by ^ or $. You may, however, wish to treat a string as a multi-line buffer, such that the ^ will match after any line separator within the string, and $ will match before any line separator. You can do this by switching on the modifier m. The \A and \Z are just like ^ and $, except that they won't match multiple times when the modifier m is used, while ^ and $ will match at every internal line separator. The . meta-character by default matches any character, but if you switch off the modifier s, then . won't match embedded line separators. ^ is at the beginning of a input string, and, if modifier m is on, also immediately following any occurrence of \, \x0D\x0A, \x0A, \x0D, \x2028, \x2029, \x0B, \x0C, or \x85. Note that there is no empty line within the sequence \x0D\x0A. $ is at the end of a input string, and, if modifier m is on, also immediately preceding any occurrence of \, \x0D\x0A, \x0A, \x0D, \x2028, \x2029, \x0B, \x0C, or \x85. Note that there is no empty line within the sequence \x0D\x0A. . matches any character, but if you switch off modifier s then . doesn't match \, \x0D\x0A, \x0A, \x0D, \x2028, \x2029, \x0B, \x0C, or \x85. Note that ^.*$ (an empty line pattern) does not match the empty string within the sequence \x0D\x0A, but matches the empty string within the sequence \x0A\x0D. Meta-characters - predefined classes \w an alphanumeric character (including underscore _) \W a non-alphanumeric \d a numeric character \D a non-numeric \s any space (same as [ \t\n\r\f]) \S a non space You may use \w, \d and \s within custom character classes. Examples: foob\dr matches strings like foob1r, foob6r and so on but not foobar, foobbr and so on foob[\w\s]r matches strings like foobar, foob r, foobbr and so on but not foob1r, foob=r and so on © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 498 Meta-characters - word boundaries \b Match a word boundary \B Match a non-(word boundary) A word boundary (\b) is a spot between two characters that has a \w on one side of it and a \W on the other side of it (in either order), counting the imaginary characters off the beginning and end of the string as matching a \W. Meta-characters - iterators Any item of a regular expression may be followed by another type of meta-characters iterators. Using these meta-characters you can specify number of occurrences of previous characters, meta-characters or sub-expressions. * zero or more ("greedy"), similar to {0,} + one or more ("greedy"), similar to {1,} ? zero or one ("greedy"), similar to {0,1} {n} exactly n times ("greedy") {n,} at least n times ("greedy") {n,m} at least n but not more than m times ("greedy") *? zero or more ("non-greedy"), similar to {0,}? +? one or more ("non-greedy"), similar to {1,}? ?? zero or one ("non-greedy"), similar to {0,1}? {n}? exactly n times ("non-greedy") {n,}? at least n times ("non-greedy") {n,m}? at least n but not more than m times ("non-greedy") So, digits in curly brackets of the form {n,m} specify the minimum number of times to match the item n and the maximum m. The form {n} is equivalent to {n,n} and matches exactly n times. The form {n,} matches n or more times. There is no limit to the size of n or m, but large numbers will chew up more memory and slow down execution. If a curly bracket occurs in any other context, it is treated as a regular character. Examples: foob.*r foob.+r foob.?r fooba{2}r fooba{2,}r fooba{2,3}r matches strings like foobar, foobalkjdflkj9r and foobr matches strings like foobar, foobalkjdflkj9r but not foobr matches strings like foobar, foobbr and foobr but not foobalkj9r matches the string foobaar matches strings like foobaar, foobaaar, foobaaaar etc. matches strings like foobaar, or foobaaar but not foobaaaar A little explanation about greediness. "Greedy" takes as many as possible, "non-greedy" takes as few as possible. For example, b+ and b* applied to string abbbbc return bbbb, b+? returns b, b*? returns empty string, b{2,3}? returns bb, b{2,3} returns bbb. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 499 SyncBackPro Help You can switch all iterators into "non-greedy" mode (see the modifier g). Meta-characters - alternatives You can specify a series of alternatives for a pattern using | to separate them, so that fee|fie| foe will match any of fee, fie, or foe in the target string (as would f(e|i|o)e). The first alternative includes everything from the last pattern delimiter ((, [, or the beginning of the pattern) up to the first |, and the last alternative contains everything from the last | to the next pattern delimiter. For this reason, it's common practice to include alternatives in parentheses, to minimize confusion about where they start and end. Alternatives are tried from left to right, so the first alternative found for which the entire expression matches, is the one that is chosen. This means that alternatives are not necessarily greedy. For example: when matching foo|foot against barefoot, only the foo part will match, as that is the first alternative tried, and it successfully matches the target string. (This might not seem important, but it is important when you are capturing matched text using parentheses.) Also remember that | is interpreted as a literal within square brackets, so if you write [fee|fie| foe] you're really only matching [feio|]. Examples: foo(bar|foo) matches strings foobar or foofoo Meta-characters - sub-expressions The bracketing construct ( ... ) may also be used for defining sub-expressions. Subexpressions are numbered based on the left to right order of their opening parenthesis. First sub-expression has number '1'. Examples: (foobar){8,10} matches strings which contain 8, 9 or 10 instances of the foobar foob([0-9]|a+)r matches foob0r, foob1r, foobar, foobaar, foobaar etc. Meta-characters - back-references Meta-characters \1 through \9 are interpreted as back-references. \<n> matches previously matched sub-expression #<n>. Examples: (.)\1+ (.+)\1+ matches aaaa and cc also match abab and 123123 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 500 (['"]?)(\d+)\1 matches "13" (in double quotes), or '4' (in single quotes) or 77 (without quotes) etc Modifiers Modifiers are for changing behaviour of the regular expression engine. Any of these modifiers may be embedded within the regular expression itself using the (?...) construct. If the construction is in-lined into a sub-expression then it affects only that sub-expression. i By default this is on. Do case-insensitive pattern matching (using installed in you system locale settings). SyncBackPro uses case insensitive searches by default and it is not recommended that you use case sensitivity. m By default this is off. Treat string as multiple lines. That is, change ^ and $ from matching at only the very start or end of the string to the start or end of any line anywhere within the string. This is important because in SyncBackPro a backslash is treated as a line separator. See the Line Separator section. s By default this is on. Treat string as single line. That is, change . to match any character whatsoever, even a line separators, which it normally would not match. This is important because in SyncBackPro a backslash is treated as a line separator. See the Line Separator section. g Non standard modifier. Switching it off will switch all following operators into non- greedy mode (by default this modifier is on). So, if modifier g is off then + works as +?, * as *? and so on. By default this is on. Examples: (?i)Saint-Petersburg matches Saint-petersburg and Saint-Petersburg (?i)Saint-(?-i)Petersburg matches Saint-Petersburg but not Saint-petersburg (?i)(Saint-)?Petersburg matches Saint-petersburg and saint-petersburg ((?i)Saint-)?Petersburg matches saint-Petersburg, but not saint-petersburg (?#text) A comment, the text is ignored. Note that comment is closed at the first close bracket ), so there is no way to put a literal close bracket ) in the comment. Line Separator SyncBackPro treats the backslash character as a line separator. All filenames start with a backslash, and all folders end with a backslash. The backslash character also delineates the parts of a file. By treating the backslash character as a line separator you can change how the . meta-character works and so have more flexibility. For example, let's say you only want text files in any folder that start with the name temp. A first attempt would be: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 501 SyncBackPro Help \\$ .*\\temp.*\.*\.txt The first one (\\$) makes sure all folders are scanned, which is the same as the DOS expression *\. Although the second expression looks correct, it won't work correctly. It would match \temp\folder\test.txt. A second try could be: \\temp.*?\\[^\\]*\.txt$ But this would also match \temp\folder\test.txt. Why? The part \\temp.*?\\ will correctly match \temp\ but [^\\]*\.txt$ will match test.txt no matter what is after \temp\. This is where the point about the backslash being a line separator is important. Because it's a line separator you can change the way the meta-character . works. Normally it will match any character at all. But using the s modifier you can stop it matching line separators, so the following will work: (?-s)\\temp.*\\.*\.txt$ To explain why this would work, let's use the example filename of \temp\folder\text.txt and see why it would not match: (?-s) is a modifier that tells SyncBackPro to treat the filename as separate lines. Because backslash is a line separator it means you can think of the filename as being broken up into its parts with each part effectively on its own line: temp folder text.txt \\temp.*\\ matches \temp\, so we are now onto the next line/part (folder) .*\.txt$ means the end of the current line must match any number of characters (but not backslash) and end with .txt. You could also have .*\.txt\Z If the expression was (?-s)\\temp.*\\.*\.txt (so it doesn't have $ at the end) then it would wrongly match \temp\folder.txt\test.txt because folder.txt matches .*\.txt What if you only wanted root temp* folders? The expression would be: (?-s)\A\\temp.*\\.*\.txt$ The meta-character \A ensures that \temp\ must be at the beginning. SyncBackPro Examples Notice that many of the examples below also include filters to include folders. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 502 \\$ \.txt$ All text files (.txt) in all folders. The \\$ filter ensures all folders are looked at. \\$ (?-s)\\temp\ \.*\.txt$ All text files in all folders called temp. It would not include .txt files in any subfolders of folders called temp. To include all .txt files in all sub-folders of folders called temp you would omit the (?-s) \\temp\\$ (?-s)\\temp\ \.*\.txt$ All text files in the root folder called temp. For example, if your source directory is C:\My Documents\ then this filter is for all text files in C\My Documents\temp\ .*\\test\\$ All folders called test. Note that no files will be copied unless another filter is added to include files. .*\\parent\\$ All folders called child whose parent directory is called parent. Notice the .*\\parent\\child\filter *\ is required otherwise it will never look inside folders called parent. Note \$ that no files will be copied unless another filter is added to include files. (?-s)\A\ \temp.*?\\$ All root folders whose name starts with temp or is called temp. Note that no files will be copied unless another filter is added to include files. If you omit (?s) then it would wrongly also match anything inside \temp\ 3.5.9 All Content: 2BrightSparks Pte Ltd © 2003-2021 Invalid Profiles If you import or run a profile that has settings which cannot be used in your version of SyncBackPro, or is from a newer version of SyncBackPro, then you will receive one of the following error messages: The profile "profile name" contains settings that cannot be used with this version of SyncBackPro The profile "profile name" is from a newer version of SyncBackPro. It is unlikely that the profile will function correctly. There are several possible settings that could cause this: · The profile is using Amazon S3, or a compatible service (e.g. Google Storage), and it has the option set to split files into chunks when uploading. This feature is no longer supported as the size restriction was greatly increased in SyncBackPro V6.1. Using that feature had a large performance impact, and with the size restriction effectively removed, the feature was © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 503 SyncBackPro Help removed. SyncBackPro has automatically disabled profiles using the "split files" setting to stop their accidental use. There are two options if you have split files in a bucket: 1. If you do not need the split files on the cloud (e.g. you have a local copy or another backup) then you could re-enable the profile (right-click on it in the main user interface and select Enable from the pop-up menu) and run it. SyncBackPro will automatically delete all the split files on the cloud, including any versions which are split. Depending on the configuration of your profile, it will then upload your local copies of those split files. 2. If you do not have another copy of the split files on the cloud (i.e. the cloud copies are the only copy) then you will need to restore the split files using an older version of SyncBackPro: · Download and install SyncBackPro V6.0. Install over your current version. Do not uninstall. · Re-enable the disabled cloud profiles that are using the "split files" setting (you can reenable the profile(s) by right-clicking on them and selecting Enable from the pop-up menu). · Restore your split files by running the cloud profiles in Restore mode. From the Differences window you could then choose only the split files (which files are split depends upon their size, there is no way to tell from the Differences window if a file is split or not). · Now you have a local copy of your split files. · Download and install SyncBackPro V6.1 or newer. Install over the V6.0 version. Do not uninstall. · Depending on the configuration of your profile, when the new cloud profiles are run they will upload the files. If you are unsure about what to do please contact 2BrightSparks Technical Support before you do anything. · The profile is from a newer version of SyncBackPro. It is not recommended that you import profiles from newer versions as the settings may not be compatible. SyncBackPro is backwards compatible with older versions, but it is not forwards compatible, i.e. it cannot know how future versions will store or name their settings. You should update your version of SyncBackPro (via Help -> Update Check in the main menu). · It is an Intelligent Synchronization profile and this version of SyncBack does not support Intelligent Synchronization. · It is a Fast Backup profile and this version of SyncBack does not support that. · You are using email (backup from) and this version of SyncBack does not support that. · You are using the cloud and this version of SyncBack does not support that. · You are using scripting and this version of SyncBack does not support that. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 504 · You are using versioning and this version of SyncBack does not support that. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.10 Restoring and Selections This section is rather complex, so in simple terms: if you are running a restore and have chosen to restore from a sub-directory of your destination directory then you should switch off the selections and filters when asked in the restore wizard. One of the configuration options for a profile is the ability to select which files and folders to include or exclude and also filter out certain files and folders. The selections and filters use relative paths, i.e. they don't specify a specific folder on a specific drive but instead specify a sub-folder. This is so that the selections and filters apply to both the source and destination. If the folder used the entire path then it would only apply to one side, e.g. the source, and that wouldn't make any sense. For example, you have a backup profile and your source is C:\My Files\Pictures\ and your destination is D:\My Backup\Media\Pictures\. You decide to exclude a folder from the backup, e.g. C:\My Files\Pictures\Drafts\. Using the file & folder selection window you actually deselect \Drafts\ because the file & folder selection window shows sub-directories. So when you run the profile SyncBackPro knows to ignore C:\My Files\Pictures\Drafts\ and D:\My Backup\Media\Pictures\Drafts. In other words, when you make selections you should keep in mind that you are choosing from sub-directories. Filters are the same in that you specify a filter using a relative path, e.g. \Drafts\* (or similar). Generally when you are restoring then you will not choose a different folder to restore from or to. However, if you do you may decide to restore to an empty folder. Or perhaps your destination is using variables, e.g. %DAY%, and so you want to restore from a specific day and so need to choose which folder to restore from. This is fine and won't cause any problems. If you aren't using selections or filters then there won't be any issues. However, if you have file & folder selections and decide to restore from a sub-folder, or restore to a subfolder, then issues will arise. For example, let's say your backup directory is D:\My Backup\Media\Pictures\. You decide to restore from a specific sub-folder in the backup directory instead, e.g. D:\My Backup\Media\Pictures\2012\June\. In your file & folder selections you've de-selected \Drafts\. So let's say you have the folder D:\My Backup\Media\Pictures\2012\June\Drafts. SyncBackPro will skip that folder entirely during the restore because the selections specify that the \Drafts\ sub-folder should be ignored. However, you actually wanted D:\My Backup\Media\Pictures\Drafts\ to be ignored, but you've changed the base folder and the selections are relative to the base folder. This is why SyncBackPro will suggest that filters and selections be switched off when restoring and the source and/or destination has been changed. With them switched off you won't be accidentally skipping and files and folders. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 505 SyncBackPro Help This same situation would occur if you use the -source or -dest command line parameters and are using a sub-folder of the profiles base folders. In that case you should use the noselect and -nofilter command line parameters. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.11 SyncBack Management Service Remote installations of SyncBackPro ( Pro version only) can now be managed and monitored from a central location. A server, the SyncBack Management Service (SBM Service), must be installed on a Windows server. You can then configure your installations of SyncBackPro to communicate with your SBM Service so that they can report on when profiles are run and also update their profiles. The communication between SyncBackPro and the SBM Service is done over the network and is encrypted. This means an installation of SyncBackPro can communicate with your SBM Service over an intranet or the Internet. Configuration and management of the SBM Service is done via the SyncBack Management Console (SBM Console). The console can be used from any computer as it communicates with the SBM Service in the same way as SyncBackPro, i.e. over a network connection. The console allows you to view the profile run history of remote SyncBackPro installations, for example. For detailed information on how to use the console please refer to the console help file. The SBM Console is free software which can be downloaded from the 2BrightSparks web site. SBMS is free when used with SyncBackPro V10. To use it for free with SyncBackPro V10 you must enter a SyncBackPro V10 serial number into SBMS Server via the SBMS Console. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 506 Management Service Settings © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 507 SyncBackPro Help To set the connection details for SyncBackPro to connect to the SBM Service select Management Service Settings from the burger menu · Hostname: This is the hostname of the SBM Service that you want to connect to. Simply enter the hostname or IP address, e.g. myserver.com. · Port: The default port number is 8100 · Username: The login username for the SBM Service. You must have a username to login to the SBM Service. · Password: The login password for the SBM Service. To test the settings click the Test Server button. SyncBackPro will then attempt to connect and login to the SBM Service. Once these settings have been set (and validated) you may not have the access rights to change them. If not then the settings will be read-only and the Modify button will be visible. To change them you must click the Modify button and then you will be asked for the username and password of a user, e.g. an administrator, that has the access rights to change these settings. Upload Profile to SBM Service To upload profiles to the SBM Service first select the profile to upload then select Export / Import -> Upload Profile to SBM Service. Optionally right-click on the profile and select Upload Profile to SBM Service from the pop-up menu. You can only upload profiles if you are an administrator. You must enter a description for the profile and then specify if the schedule for the profile should also be exported. After the profile has been uploaded a message will be displayed giving the unique GUID for the profile. This is for information purposes only so that when you edit the profiles details using the SBM Console you can check to make sure that the profile is the same one you uploaded. Every profile has a universally unique GUID. If you are using profile groups, it is best to upload the profiles first, and then finally upload the profile groups. Important: Once a profile has been uploaded you must use the SBM Console to assign the profile to one or more user groups. If you are updating an existing profile then the profile will still be in the same user groups as it was before the update. Managed Profiles Every hour a check is made to see if there are any new or updated managed profiles. It also checks to see if any managed profiles should be deleted. If so they are downloaded from the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 508 SBM Service and installed, or deleted as necessary. This is only done when online. You can do an immediate check by pressing Ctrl-F5. Offline If SyncBackPro cannot connect to the SBM Service, e.g. there is no network connection, then it will proceed in offline mode. The window caption for SyncBackPro will show if it is in offline mode. When in offline mode it will use the cached security settings (retrieved during the last online login) so that the user will still be restricted in what they can or cannot do. Any profile history created while in offline mode will be automatically and silently uploaded once SyncBackPro can connect to the SBM Service and it has been an hour or more since it last uploaded cached history. You can do an immediate upload by pressing Ctrl-F5. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.12 SyncBack Touch By using the SyncBack Management Service (SBMS) you can manage remote installations of SyncBackPro. An alternative is instead of installing SyncBackPro on each computer you install SyncBack Touch on each device (Windows, macOS, Linux or Android). SyncBack then talks to SyncBack Touch on those devices to backup or synchronize with them. SyncBack Touch can also be configured to use SBMS for security (so credentials are centralized). SyncBack Touch is a cross-platform service (Windows, macOS, Linux and Android) that allows SyncBackPro and SyncBackSE to remotely access a device's file system in order to perform backup/restore and sync operations. SyncBack Touch is completely free if you are using it with SyncBackPro or SyncBackSE V10 or newer. Install SyncBack Touch on the device you want to access then create a profile on SyncBackPro to copy files to and from that device. For example, backup all your photos as soon as your mobile device connects to your local Wi-Fi! The benefits of using SyncBack Touch are: · Cross platform support (Windows, macOS, Linux or Android) · There's no need to install SyncBack and configure on each device, instead you install SyncBack Touch on each device · You can backup multiple devices using one installation of SyncBack · As all the profiles are in SyncBack you don't need to do any on the devices using SyncBack Touch · It's free (when used with SyncBackPro or SyncBackSE V10). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 509 SyncBackPro Help SyncBack Touch In The Home Let's say you have a family and that in addition to your Windows computer, there are several other devices in your home. You've bought a license to use SyncBackSE to backup your home computer. Your partner uses an iMac so you download and install the macOS SyncBack Touch App. You've got a wifi network at home, and so you run SyncBack Touch on the iMac, then make a new backup profile to backup your iMac in SyncBackSE. Your kids also have an Android tablet so you download the SyncBack Touch App and presto - You backup that too - All for the price of a single license of SyncBackSE! If you want to also backup your Android phones and other devices, you can purchase additional SyncBack Touch licenses to cover them. SyncBack Touch At The Office You're a business user and have Windows, macOS, Linux and Android devices. If you've only got Windows computers, that's fine too. You buy SyncBackPro to give you Cloud support and all the flexibility a professional backup solution delivers. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.12.1 Connection Problems For SyncBackPro to connect to SyncBack Touch, it needs to connect to the computer that SyncBack Touch is installed on. This means it is very important that the connection details are correct. Automatically Finding SyncBack Touch If SyncBack Touch is on the same local network as SyncBackPro, e.g. the computer your are using SyncBackPro on and the computer SyncBack Touch is running on are both at home or both in the same office, then SyncBackPro should be able to automatically find SyncBack Touch on your network. To do this simply click the Find button when creating your profile or modifying it. If SyncBackPro cannot find your SyncBack Touch installation then it could be that your firewall is blocking UDP port 24671. Also, it could be that SyncBack Touch is on a different subnet. If SyncBackPro is not on the same local network then you will need to enter the connection details manually (see below). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 510 Manually Entering SyncBack Touch Connection Details If SyncBack Touch is not on the same local network as SyncBackPro, e.g. it's on a computer you need to access via the Internet, or you SyncBackPro cannot automatically find your SyncBack Touch installation (e.g. it's on a different subnet), then you'll need to enter the connection details manually. For SyncBackPro to connect to SyncBack Touch it needs two things: 1. The I.P. address, or hostname, of the remote computer SyncBack Touch is running on. 2. The TCP port number the remote SyncBack Touch is listening on. By default, it is port 8080. Make sure to untick the checkbox "Find and connect to the SyncBack Touch device using its name". Cannot connect while screen locked (Android) If SyncBackPro cannot connect to SyncBack Touch on an Android device, while the Android device is locked, and SyncBackPro is connecting using the name, then you may need to connect using the IP address (see above). Port 8080 and 8081 By default SyncBack Touch listens for connections on port 8080 and also uses port 8081 if Rapid Transfer is being used. However, port 8080 may also be used by some web servers (typically for testing or development). Because of this you may need to change the base port number SyncBack Touch listens on. If your are using SyncBack Touch on Android or macOS then you can change the port number via the user interface on SyncBack Touch itself. With Linux, you need to use the command line to set the listening port: · Using the command prompt, go to the directory that SyncBack Touch is installed in, e.g. cd /home/username · Run the SyncBack Touch executable and pass the new port number using -port portnumber, e.g. SyncBackTouch -port 8081 (which means port 8082 will be used for Rapid Transfer) · Restart SyncBack Touch Alternatively, you can specify the port number during installation of SyncBack Touch. If you can connect to SyncBack Touch using SyncBackPro then you can using SyncBackPro itself to change the port. To do this, modify a profile that connects to SyncBack Touch, go to the SyncBack Touch settings page and click the Configure button. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 511 SyncBackPro Help If you are using Rapid Transfer, then an extra TCP port is required. It will also use the port above the port you defined. For example, if you are using port 8080 then port 8081 will be used for Rapid Transfer. Firewalls and Routers By default SyncBack Touch uses TCP port 8080 for all communication with SyncBack and also port 8081 if Rapid Transfer is being used. The base port number can be changed/set during the installation (see below) or by using SyncBack. If you want to access SyncBack Touch through a firewall then you must open this port (and the next one above if using Rapid Transfer). If SyncBack Touch is behind a router then you may need to enable port forwarding. Refer to your routers documentation for details. To discover SyncBack Touch installations broadcasts are made on the UDP port 24671. You may need to open this port on your firewall (not your router as broadcasts are only made on the local network). Virtual Private Network (VPN) If you are using a VPN (either on the device running SyncBackTouch and/or on the device running SyncBackPro) then it's very likely that either broadcasting will not work and/or the connection will not work. Running? Check to make sure SyncBack Touch is actually running on the device you are connecting to. If it's on Android, then simply start SyncBack Touch. If it's in Windows then check the Windows services to see if the SyncBack Touch service is running. Accessing SD Card To access the SD card (in an Android device) you may need to set your destination path to use the variable %SBT_EXTSDCARD% All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.13 SyncBack Monitor SyncBack Monitor allows the user to remotely monitor and control SyncBackPro/SyncBackSE instances running on computers on the same local network via an Android App. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 512 Please note that SyncBack Monitor is free and will work only with SyncBackPro/SyncBackSE V9 (and newer) and does not support SyncBackFree. To use it, you first need to enable access to your SyncBack installation: · Start SyncBackPro / SyncBackSE · Go to the Remote Control settings page in Global Settings · Tick the checkbox Allow remote control connections · Enter a password (required). You then need to configure SyncBack Monitor on your Android device(s) to use the same password. Important · The (Android) device's WiFi must be enabled and connected on the same local network as the computers running SyncBackPro/SyncBackSE. · If you are using a Virtual Private Network (VPN), either on the device running SyncBack Monitor and/or on the device running SyncBackPro, then it's very likely that it will not work. · Passwords are case-sensitive and SyncBack Monitor will locate any running instances of SyncBackPro/SyncBackSE on the same network that use the exact same password. · In SyncBack Monitor, any found instances of SyncBackPro/SyncBackSE will be added in the drop-down list which you can select and connect to by clicking the green button next to it. · Once connected then you can view the profiles and their states in the grid list and you will be able to start, stop, pause and resume them using the buttons at the bottom of the screen. Any profiles started via the SyncBack Monitor will be run unattended. Also, as SyncBack Monitor does not show groups, profiles run via the SyncBack Monitor are run stand-alone and not as part of a group. This may be important if you are using group variables, for example. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.14 Upgrading Cloud Service Upgrading Dropbox and OneDrive Cloud API © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 513 SyncBackPro Help When you upgrade from an earlier version of SyncBackPro, or import a profile from an earlier version of SyncBackPro, and the profile is using Dropbox, OneDrive (Personal or Business) or SharePoint, then SyncBackPro will continue using the old (legacy) interface with that cloud service. This ensures your profile continues to work. However, it is recommended that you update the profile to use the new cloud API. Dropbox V1 (legacy) profiles stopped working 28th September 2017. To do this: · Run the profile to make sure all changed files are copied etc. to or from the cloud. · Make a copy of the profile (select the profile in the main window and press Ctrl-C, or right- click on the profile and select Copy from the pop-up menu) and give the copy a new name, e.g. New Cloud Backup Profile · Modify your original profile, go to the Cloud settings page and click the Delete DB button. · You may then be prompted to ask if you would like to switch from the old cloud API. If so, click Yes. · After the cloud database has been deleted, if you already have a linked cloud account for the new cloud service then you will be prompted if you would like to use that account. If you do not have a linked account then you must re-authorize SyncBackPro with the cloud service. · Save the profile and run it attended (it is critical it is run attended and not unattended). To do this, select the profile in the main window and press Ctrl-R. · When the Differences window appears you need to change the Action for all the files to Use details from Source (or whatever your source is called) then let the profile continue. Note that you can choose all files by pressing Ctrl-A or you can do multiple selections using the Ctrl and Shift keys with mouse clicks. To change the Action for your selected files, right-click on the selection and choose the action from the pop-up menu. If there are no problems you can delete the copy of the profile. All Content: 2BrightSparks Pte Ltd © 2003-2021 3.5.15 Installing Silent Install To install SyncBackPro without any prompts or messages on the screen use the /verysilent command line parameter with the installation executable, e.g.: SyncBackSE_Setup.exe /verysilent It is important that it is the first command line parameter. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 514 WARNING: When using a silent installation, no prompting can be done. Therefore, if the installer cannot replace a file because it is being used, then it will replace it on reboot. If it needs to reboot to replace the file then it will immediately reboot, without prompting, once the installation is complete. To stop it rebooting use /NORESTART: SyncBackSE_Setup.exe /verysilent /norestart You may also want to use /CloseApplications or /ForceCloseApplications (see below). You should also bear in mind that if you disable prompting, it is assumed you tacitly agree to those prompts that would normally be displayed (for example, our terms & conditions) and/or that you are aware of the issues that would normally be mentioned. If in doubt, you should manually install a test instance first and satisfy yourself there are no contentious issues. Other Parameters /language="language_code" : You can specify which language the program should use when run. This is a two-character language and is the same as shown in burger menu > Language. For example, to use French: SyncBackSE_Setup.exe /language="FR" /SN="serial_number" : The serial number to use. For example: SyncBackPro_Setup.exe /SN="serial number" /SettingsFolder="folder" : This can be used to specify the folder to use to get settings and profiles settings from, e.g. /SettingsFolder="C:\My Folder\" /Counter="value" : Set to 1 to not be prompted about visiting introduction web page, e.g. /Counter="1" /UpdCheckDays="days" : The number of days between automatic update checks. Use 0 to disable update checks. The default value is 30. The /UpdCheckDays parameter is only used for new installations. So if SyncBackPro is already installed then this value is ignored and it will continue to use the existing setting. /StopBg="value" : By default, background backups are not started. To enable background backups pass "N", e.g. /StopBg="N" /NoBackupPrompt="value" : You can also switch off the prompting about the backup folder when upgrading from one major version to another, e.g. /NoBackupPrompt="Y" © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 515 SyncBackPro Help /CloseApplications : Instructs the installer to close applications using files that need to be updated (if possible). /ForceCloseApplications : Instructs the installer to forcibly close applications using files that need to be updated (if possible). For example, for a silent install of SyncBackSE, to use French, pass a serial number, switch off update checks, not be prompted about a backup folder for old profiles, and not be prompted about visiting the introduction page when the program is run: SyncBackSE_Setup.exe /verysilent /language="FR" /SN="serial number" /UpdCheckDays="0" /NoBackupPrompt="Y" /Counter="1" SBMS Parameters For the SyncBackPro installation there are a number of optional installation command line parameters related to the SBM Service (if used): /SBMS_Hostname="hostname" : This is the hostname, IP address, or URL of the SyncBack Management Service (SBM Service). If you are using a HTTP connection type then this is the complete URL include the port number. For example: /SBMS_Hostname="http://myserver.com:8099/BIN/". If you are using a TCP or Named Pipe connection type then this is the hostname or IP address. For example: /SBMS_Hostname="192.168.0.1". /SBMS_Port="port number" : This is the port number of the SBM Service. It is only used when the connection type is TCP, and the default port number is 8095. For example: /SBMS_Port="8095" /SBMS_Username="username" : This is the login username for the SBM Service. Typically each user has their own login username for the SBM Service. /SBMS_Password="password" : This is the login password for the SBM Service. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Using SyncBackPro 516 3.5.16 Uninstalling SyncBackPro As with all Windows software, SyncBackPro can be uninstalled via Apps (in Settings) or via the Windows Control Panel in older versions of Windows. The exception to this is if you installed the program in a custom location, in which case you will have to find out where SyncBackPro is located. You can easily find this using the Windows search facility. Newer versions of SyncBackPro will prompt you, during the uninstall, if you want to delete your settings and profiles. However, if you are not using the latest version then uninstalling SyncBackPro may delete your profiles and settings. All versions of SyncBackPro can safely be installed over an existing installation. By doing this, you will ensure any profiles you have created continue to be active. The exception to this rule is if you are switching from 32-bit to 64-bit or vice versa. Lastly, make sure that SyncBackPro is not running while you attempt to uninstall. Remember that SyncBackPro can be seen in the task bar on the lower right when active (you may need to click the little left pointing arrow to see the SyncBackPro icon). You may have also created a scheduled task which you will need to disable if uninstalling. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks Part IV Legal Information and Trademarks 518 4 Legal Information and Trademarks Please read the following legal documentation which presents 2BrightSparks Pte Ltd's policies on licensing and distribution. Distribution Privacy Statement General Terms Translators Runtime Intelligence Trademarks Amazon S3TM and Amazon GlacierTM are trademarks of Amazon.com, Inc. AzureTM, OneDriveTM, Office 365TM and SharePointTM are trademarks of Microsoft Corporation. Backblaze B2TM is a trademark of Backblaze. Box is a trademark or registered trademark of Box, Inc. DropboxTM is a trademark of Dropbox, Inc. EgnyteTM is a trademark of Egnyte, Inc. Google DriveTM, Google StorageTM and Google PhotosTM are trademarks of Google, Inc. hubiC is a trademark or registered trademark of OVH group. Microsoft® is a registered trademark of Microsoft Corporation. OpenStackTM are trademarks of OpenStack Foundation. OVH is a trademark or registered trademark of OVH group. RackspaceTM is a trademark of Rackspace, Inc. ShareFileTM is a trademark of Citrix, Inc. SugarSyncTM is a trademark of SugarSync, Inc. Pushover is a trademark and product of Superblock, LLC. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 519 SyncBackPro Help 4.1 All Content: 2BrightSparks Pte Ltd © 2003-2021 Distribution This Software Distribution Agreement (hereinafter referred to as "AGREEMENT") is a legal AGREEMENT between you, and 2BrightSparks Pte Ltd (hereinafter referred to as "AUTHOR") for distributing the computer software program entitled SyncBackPro (hereinafter referred to as "SOFTWARE"). This AGREEMENT describes the terms and conditions by which AUTHOR will license other parties to distribute the SOFTWARE which is intended solely for distribution as SHAREWARE. No use, distribution or reproduction of the SOFTWARE or copies of the SOFTWARE is authorized except in compliance with the terms and conditions herein. Distribution of the SOFTWARE in accordance with the provisions of this Software Licence Agreement is encouraged. You should carefully read the following terms and conditions before distributing this SOFTWARE. Unless you have a different licence AGREEMENT signed by AUTHOR, your use of this SOFTWARE indicated your acceptance of this licence AGREEMENT. By copying or distributing this SOFTWARE, you agree to be bound by the terms and conditions of this AGREEMENT as well as those of the "Software Licence Agreement". GENERAL DEFINITIONS As stated, the SOFTWARE is marketed as SHAREWARE. Definition of Shareware Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are required to register it (or purchase the Licensed version). Copyright laws apply to both Shareware and retail software, and the copyright holder retains all rights, with a few specific exceptions as stated below. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. Shareware is a distribution method, not a type of software. GENERAL TERMS AND CONDITIONS · AUTHOR shall be credited as the owner of the SOFTWARE in all distribution of the SOFTWARE. AUTHOR is the exclusive world-wide licenser of the SOFTWARE, and the copyrights and other proprietary rights therein. The SOFTWARE is intended solely for distribution as SHAREWARE (i.e., try-before-you-buy software); it is not public domain or free software or freeware. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks 520 · The SOFTWARE shall be identified by name and shall be identified as SHAREWARE in all distribution. · You may copy and/or distribute the SOFTWARE only in its original, unaltered form, with all files included unmodified, and without making any additions, modifications or deletions except as provided in this paragraph. You may not modify the SOFTWARE or any of its files, and the SOFTWARE must be distributed as a complete package. You may not change, delete, merge or rename any files or elements of the SOFTWARE in any manner, and you may not add any files or new elements (except for installation routines which do not interfere with the proper operation or installation of the SOFTWARE). · Since the SOFTWARE is intended for distribution only as SHAREWARE, you shall not charge any fee or other compensation for the SOFTWARE, although you may charge a distribution fee for costs associated with distributing the SOFTWARE. You are permitted, and encouraged, to make and distribute copies of the SOFTWARE to your friends, family members and co-workers for your and their private non-commercial use, in compliance with the terms and conditions hereof. · You recognize that your right to distribute the SOFTWARE is nonexclusive and that AUTHOR can terminate the license granted to you at any time for any reason upon notice. AUTHOR reserves the right to withhold or withdraw permission to distribute the SOFTWARE from anyone at any time for any reason. The other provisions hereof shall survive any expiration or termination of this AGREEMENT. · You shall take reasonable steps to ensure that the SOFTWARE and any other software, documentation and other materials distributed with the SOFTWARE are free from viruses. · You may not use, copy, modify, distribute or transfer the SOFTWARE or any element thereof in whole or in part, except as expressly provided for herein. · You may not rent or lease the SOFTWARE to anyone. · AUTHOR reserves the right to update the contents of the SOFTWARE and its associated files, documentation and/or other elements, at its discretion from time to time, without the consent of, or any obligation to, any licensed users or distributors. · You will hold AUTHOR, family members, distributors, licensees, sub-licensees and lawyers harmless from and against any and all claims, actions, damages, losses, liabilities, costs and expenses arising directly or indirectly from your acts and omissions in copying and distributing the SOFTWARE. · If any provision of this AGREEMENT is held to be void, invalid or unenforceable, it will not affect the validity of the balance of this AGREEMENT, which shall remain valid and enforceable according to its terms and conditions. · This agreement shall be governed by the laws of the United Kingdom. SPECIAL TERMS AND CONDITIONS © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 521 SyncBackPro Help · Distribution by BBS, on-line Services, FTP, FSP, News, WWW, Satellite, Other File Transfer Protocols: The SOFTWARE and associated files may be copied, used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. · Distribution on Floppy Disk / CD-ROM / DVD / Other Disk Types in a non-retail environment: The SOFTWARE and associated files may be copied, and used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. · Distribution on Floppy Disk / CD-ROM / DVD / Other Disk Types by Anonymous access FTP/WWW Shareware Archives: The SOFTWARE and associated files may be copied, used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. · Distribution on Magazine Companion Disk / CD-ROM / Other Disk Types: The program and associated files may be copied, used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. We would greatly appreciate if you would inform 2BrightSparks about any review(s) you write about the SOFTWARE. Thanks. · Distribution in a Retail Environment, Book Companion Disk / CD-ROM / Other Disk Types (Book): You may not distribute the program without obtaining explicit permission from AUTHOR. · Other (e.g. Retail not covered above) CD-ROM Shareware Distribution: You may not distribute the program without obtaining explicit permission from AUTHOR. · Internet Providers Disk / CD-ROM / Demo Disks / Connection Kits / etc.: You may distribute this SOFTWARE on your disk/CD only as bundled shareware with other programs without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. If you intend to provide the program for your own diagnostic purposes then you may not distribute the program without obtaining explicit permission from the AUTHOR. · Software/Hardware Manufacturers & Suppliers: You may not distribute the program preinstalled or otherwise on the machines you manufacture/distribute/etc. or bundled with your own products without obtaining explicit permission from AUTHOR. · Other Type of Distribution: Please contact AUTHOR for details. BY DISTRIBUTING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ AND UNDERSTOOD THIS AGREEMENT AND YOU AGREE TO BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS. YOU ALSO AGREE THAT THIS AGREEMENT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF THE RIGHTS AND LIABILITIES OF THE PARTIES AND SUPERSEDES ALL PROPOSALS OR PRIOR AGREEMENTS, ORAL OR WRITTEN AND ANY OTHER COMMUNICATION BETWEEN THE PARTIES RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks 522 All Content: 2BrightSparks Pte Ltd © 2003-2021 4.2 Privacy Statement We have created this privacy statement in order to demonstrate our firm commitment to privacy. The following discloses our information gathering and dissemination practices for 2BrightSparks. We use your IP address to help diagnose problems with our server, and to administer our website. Your IP address is used to help identify you and to gather broad demographic information. Cookies We use cookies to identify you so we can retrieve your information so you don't have to reenter it each time you visit our site. We also use cookies to help ensure our surveys are only completed once. Subscriptions Our site's Support Ticketing, Mailing List, and other forms requires users to give us contact information, like their name and email address. We use customer contact information from forms to send the user information about 2BrightSparks. The customer's contact information is also used to contact the visitor when necessary if they have subscribed to the Mailing List. Users may opt-out of receiving future mailings by choosing to un-subscribe. Unique identifiers are collected to verify the user's identity and for use in our record system. Collecting Unique Identifiers 2BrightSparks and its associated Web Store uses an order form for customers to request information, products, and services. We collect visitor's contact information and unique identifiers. Contact information from the order form is used to send orders and information about our company to our customers. The customer's contact information is also used to get in touch with the visitor when necessary. Users may opt-out of receiving future mailings. Unique identifiers are collected from website visitors to verify the user's identity and for use as account numbers in our record system. External Linking 2BrightSparks contains links to other sites. We are not responsible for the privacy practices or the content of such websites. Security This site has security measures in place to protect the loss, misuse and alteration of the information under our control. All data is protected using the most advanced methods available. We do not store financial information like credit card numbers or personal information like social security numbers on this site. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 523 SyncBackPro Help Un-Subscribe 2BrightSparks gives users the option to contact us for removing their information from our database to not receive future communications or to no longer receive mail list messages. Correct/Update You can send an email to us by visiting our Support Area to change and/or modify information previously provided. Additional Information Why we use cookies A cookie is a small data file that certain Web sites write to your hard drive when you visit them. A cookie file can contain information such as a user ID that the site uses to track the pages you have visited. The only personal information a cookie can contain is information you supply yourself. A cookie can't read data off your hard disk or read cookie files created by other sites. We use cookies to assists in searches. Cookies further enhance our service by enabling us to fast-track much of our User's browsing habits with the aim of improving our services. Do you share data with outside companies and/or organisations? No. we do not share any 'off-line data' with any commercial entity (e-mail addresses collected for our mailing list, and any data collected for purposes other than for on-line publication on our website). We only disclose data when required to do so by International law. 4.3 All Content: 2BrightSparks Pte Ltd © 2003-2021 General Terms Last Modified: 17 June 2008 Products, Services, and Conditions of Use You should carefully read the following Terms and Conditions before using our software products. Unless you have a different license agreement signed by 2BrightSparks, your use of our software indicates your acceptance of this license agreement and warranty. Use of all software available from 2BrightSparks (hereinafter 'SOFTWARE') is contingent on your agreement our software licensing terms found on this web page. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks 524 As part of our service, we agree to provide you with software, information, and other services that we may decide to offer, subject to the terms of this agreement. Upon notice published through the service, we may modify this agreement at any time. You agree and continue to agree to use our products and services in a manner consistent with all applicable laws and regulations and in accordance with the terms and conditions set out in the policies and guidelines outlined below. Please note that you will be referred to as 'customer' in this agreement. Limitation Of Liability And Warranty The customer agrees that use of the services and products provided by 2BrightSparks is entirely at the customer's own risk. Services and products are provided 'as is,' without warranty of any kind, either express or implied, including without limitation any warranty for information, services, uninterrupted access, or products provided through or in connection with the service, including without limitation the software licensed to the customer and the results obtained through the service. Specifically, we disclaim any and all warranties, including without limitation: 1) any warranties concerning the availability, accuracy or content of information, products or services; and 2) any warranties of title or warranties of merchantability or fitness for a particular purpose. This disclaimer of liability applies to any damages or injury caused by any failure of performance, error, omission, interruption, deletion, defect, delay in operation or transmission, computer virus, communication line failure, theft or destruction or unauthorized access to, alteration of, or use of record, whether for breach of contract, tortious behavior, negligence, or under any other cause of action. Customer specifically acknowledges the service is not liable for the defamatory, offensive or illegal conduct of other customers or third-parties and that the risk of injury from the foregoing rests entirely with customer. Neither the software, products or services delivered by 2BrightSparks, nor any of its agents, affiliates or content providers shall be liable for any direct, indirect, incidental, special or consequential damages arising out of use of it or inability to gain access to or use the software or out of any breach of any warranty. Customer hereby acknowledges that the provisions of this section shall apply to all content on the service. Governing Law This agreement shall be governed by the laws of Singapore. Trademarks All trademarks appearing on the service are trademarks of their respective owners. Modification 2BrightSparks reserves the right, at its discretion, to revise these Terms and Conditions at any time and without prior notice, and such revision shall be effective immediately upon the posting of the revised Terms and Conditions at the company website: © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 525 SyncBackPro Help http://www.2brightsparks.com/terms.html Software License Agreement You should carefully read the following Terms and Conditions before using our software products. Unless you have a different license agreement signed by 2BrightSparks, your use of our software indicates your acceptance of this license agreement and warranty. Use of all software available from 2BrightSparks (hereinafter 'SOFTWARE') is contingent on your agreement our software licensing terms found on this web page. SyncBackPro Licensing Terms and Conditions You are advised to revisit the following web page periodically as we reserve the right to change these terms and conditions at any time and without notification: CONDITIONS OF USE You agree and continue to agree to use our software in a manner consistent with all applicable laws and regulations and in accordance with the terms and conditions set out in the policies and guidelines outlined below. Please note that you will be referred to as 'customer' in this agreement. SOFTWARE LICENSE AGREEMENT You should carefully read the following Terms and Conditions before using SyncBackPro. Unless you have a different license agreement signed by 2BrightSparks Pte Ltd, your use of our software indicates your acceptance of this license agreement. Use of all software available from 2BrightSparks Pte Ltd, including SyncBackPro, (hereinafter 'SOFTWARE') is contingent on your agreement to the following terms: LIMITATION OF LIABILITY The use of all software including SyncBackPro available from 2BrightSparks Pte Ltd ('SOFTWARE') is contingent on your agreement to the following Limitation of Liability: SOFTWARE is provided as is, and without warranty of any kind. To the maximum extent permitted by applicable law, 2BrightSparks Pte Ltd its suppliers, its distributors, and its affiliates, or others who may offer SOFTWARE, will not be liable for any damages whatsoever, whether direct or indirect, special, incidental, consequential, or punitive of any kind (including but not limited to damages for: loss of profits, loss of confidential or other information, business interruption, personal injury, loss of privacy, failure to meet any duty including of good faith or of reasonable care - negligence, and any other pecuniary or other loss whatsoever) arising out of, or in any way related to the use of, or inability to use our SOFTWARE or support services, or the provision of or failure to provide support services, or otherwise under, or in connection with SOFTWARE documentation, or any provision of these © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks 526 terms and conditions, even if 2BrightSparks Pte Ltd or any supplier, distributor, or its affiliates has been advised of the possibility of such damages. The Limitations on, and Exclusions of liability for damages in this agreement apply regardless of whether liability is based on breach of contract, tort (including negligence), delict, strict liability, breach of warranties or conditions, or any other legal theory. 2BrightSparks Pte Ltd furthermore disclaims all warranties, including without limitation any implied warranties of merchantability, fitness for a particular purpose, and on infringement. The entire risk arising out of the use or performance of the SOFTWARE and documentation remains with the recipient. To the maximum extent permitted by applicable law, in no event shall 2BrightSparks Pte Ltd Pte Ltd be liable for any consequential, incidental, direct, indirect, special, punitive, or other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of this agreement or the use of or inability to use the product, even if 2BrightSparks Pte Ltd has been advised of the possibility of such damages. The SOFTWARE and the accompanying files are sold "as is" and without warranties as to performance or merchantability or any other warranties whether expressed or implied. Because of the various hardware and software environments into which SOFTWARE may be put, no warranty of fitness for a particular purpose is offered. Good data processing procedure dictates that any program be thoroughly tested with noncritical data before relying on it. The user must assume the entire risk of using the SOFTWARE. Any liability of the seller will be limited exclusively to product replacement or refund of purchase price. OWNERSHIP You may not reverse engineer, decompile or disassemble the SOFTWARE. 2BrightSparks Pte Ltd shall retain title and all ownership rights to the SOFTWARE. COPYRIGHT This SOFTWARE is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. MAINTENANCE 2BrightSparks Pte Ltd is not obligated to provide support, maintenance, or updates for the SOFTWARE (either by email, phone, or otherwise). However, any maintenance or updates provided by 2BrightSparks Pte Ltd shall be covered by this Agreement. SOFTWARE USAGE AGREEMENT One registered copy of SOFTWARE may either be used by a single person who uses the software personally on up to 5 computers for non-commercial use (home). A separate license must be purchased for each installation of the program for commercial use. Installing the program on a server counts as one installation. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 527 SyncBackPro Help In a commercial setting you may access the registered version of the SOFTWARE through a network, provided that you have obtained individual licenses for the SOFTWARE covering all workstations that will access the software through the network. For instance, if 4 different workstations access the SOFTWARE on the network, each workstation must have its own SOFTWARE license, regardless of whether they use the SOFTWARE at different times or concurrently. RETURNS POLICY Before purchasing software from 2BrightSparks Pte Ltd, you are strongly encouraged to 'test drive' it using the evaluation version. In the event you encounter a problem with the product, contact our support department for assistance. You may do this by submitting a Support Ticket in our Support Area at: https://help.2brightsparks.com/ After your purchase, refunds will only be given at the discretion of the Company Management. EVALUATION AND REGISTRATION Subject to the terms of this agreement, you are hereby licensed to use the SOFTWARE for evaluation purposes without charge. The evaluation version of the SOFTWARE has limitations and reminders that the SOFTWARE is in use. For a full-featured, unrestricted version, a registration fee is required. Upon payment you will be sent an email that will provide the Serial Number to unlock the SOFTWARE. SyncBackPro DISTRIBUTION AGREEMENT This Software Distribution Agreement (hereinafter referred to as "AGREEMENT") is a legal AGREEMENT between you, and 2BrightSparks Pte Ltd (hereinafter referred to as "AUTHOR") for distributing the computer software program entitled SyncBackPro (hereinafter referred to as "SOFTWARE"). This AGREEMENT describes the terms and conditions by which AUTHOR will license other parties to distribute the SOFTWARE which is intended solely for distribution as SHAREWARE. No use, distribution or reproduction of the SOFTWARE or copies of the SOFTWARE is authorised except in compliance with the terms and conditions herein. Distribution of the SOFTWARE in accordance with the provisions of this Software Licence Agreement is encouraged. You should carefully read the following terms and conditions before distributing this SOFTWARE. Unless you have a different licence AGREEMENT signed by AUTHOR, your use of this SOFTWARE indicated your acceptance of this licence AGREEMENT. By copying or distributing this SOFTWARE, you agree to be bound by the terms and conditions of this AGREEMENT as well as those of the "Software Licence Agreement". © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks 528 GENERAL DEFINITIONS As stated, the SOFTWARE is marketed as SHAREWARE. Definition of Shareware Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are required to register it (or purchase the Licensed version). Copyright laws apply to both Shareware and retail software, and the copyright holder retains all rights, with a few specific exceptions as stated below. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. Shareware is a distribution method, not a type of software. GENERAL TERMS AND CONDITIONS · AUTHOR shall be credited as the owner of the SOFTWARE in all distribution of the SOFTWARE. AUTHOR is the exclusive world-wide licenser of the SOFTWARE, and the copyrights and other proprietary rights therein. The SOFTWARE is intended solely for distribution as SHAREWARE (i.e., try-before-you-buy software); it is not public domain or free software or freeware. · The SOFTWARE shall be identified by name and shall be identified as SHAREWARE in all distribution. · You may copy and/or distribute the SOFTWARE only in its original, unaltered form, with all files included unmodified, and without making any additions, modifications or deletions except as provided in this paragraph. You may not modify the SOFTWARE or any of its files, and the SOFTWARE must be distributed as a complete package. You may not change, delete, merge or rename any files or elements of the SOFTWARE in any manner, and you may not add any files or new elements (except for installation routines which do not interfere with the proper operation or installation of the SOFTWARE). · Since the SOFTWARE is intended for distribution only as SHAREWARE, you shall not charge any fee or other compensation for the SOFTWARE, although you may charge a distribution fee for costs associated with distributing the SOFTWARE. You are permitted, and encouraged, to make and distribute copies of the SOFTWARE to your friends, family members and co-workers for your and their private non-commercial use, in compliance with the terms and conditions hereof. · You recognise that your right to distribute the SOFTWARE is nonexclusive and that AUTHOR can terminate the license granted to you at any time for any reason upon notice. AUTHOR reserves the right to withhold or withdraw permission to distribute the SOFTWARE from anyone at any time for any reason. The other provisions hereof shall survive any expiration or termination of this AGREEMENT. · You shall take reasonable steps to ensure that the SOFTWARE and any other software, documentation and other materials distributed with the SOFTWARE are free from viruses. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 529 SyncBackPro Help · You may not use, copy, modify, distribute or transfer the SOFTWARE or any element thereof in whole or in part, except as expressly provided for herein. · You may not rent or lease the SOFTWARE to anyone. · AUTHOR reserves the right to update the contents of the SOFTWARE and its associated files, documentation and/or other elements, at its discretion from time to time, without the consent of, or any obligation to, any licensed users or distributors. · You will hold AUTHOR, family members, distributors, licensees, sub-licensees and lawyers harmless from and against any and all claims, actions, damages, losses, liabilities, costs and expenses arising directly or indirectly from your acts and omissions in copying and distributing the SOFTWARE. · If any provision of this AGREEMENT is held to be void, invalid or unenforceable, it will not affect the validity of the balance of this AGREEMENT, which shall remain valid and enforceable according to its terms and conditions. · This agreement shall be governed by the laws of the United Kingdom. SPECIAL TERMS AND CONDITIONS · Distribution by BBS, on-line Services, FTP, FSP, News, WWW, Satellite, Other File Transfer Protocols: The SOFTWARE and associated files may be copied, used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. · Distribution on Floppy Disk / CD-ROM / DVD / Other Disk Types in a non-retail environment: The SOFTWARE and associated files may be copied, and used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. · Distribution on Floppy Disk / CD-ROM / DVD / Other Disk Types by Anonymous access FTP/WWW Shareware Archives: The SOFTWARE and associated files may be copied, used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. · Distribution on Magazine Companion Disk / CD-ROM / Other Disk Types: The program and associated files may be copied, used and posted without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. We would greatly appreciate if you would contact us about any review(s) you write about the SOFTWARE at: http://www.2brightsparks.com/contact.html · Distribution in a Retail Environment, Book Companion Disk / CD-ROM / Other Disk Types (Book): You may not distribute the program without obtaining explicit permission from AUTHOR. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks 530 · Other (e.g. Retail not covered above) CD-ROM Shareware Distribution: You may not distribute the program without obtaining explicit permission from AUTHOR. · Internet Providers Disk / CD-ROM / Demo Disks / Connection Kits / etc.: You may distribute this SOFTWARE on your disk/CD only as bundled shareware with other programs without charge and permission as long as the "General Terms and Conditions" set forth above are complied with. If you intend to provide the program for your own diagnostic purposes then you may not distribute the program without obtaining explicit permission from the AUTHOR. · Software/Hardware Manufacturers & Suppliers: You may not distribute the program preinstalled or otherwise on the machines you manufacture/distribute/etc. or bundled with your own products without obtaining explicit permission from AUTHOR. · Other Type of Distribution: Please contact AUTHOR for details. BY DISTRIBUTING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ AND UNDERSTOOD THIS AGREEMENT AND YOU AGREE TO BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS. YOU ALSO AGREE THAT THIS AGREEMENT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF THE RIGHTS AND LIABILITIES OF THE PARTIES AND SUPERSEDES ALL PROPOSALS OR PRIOR AGREEMENTS, ORAL OR WRITTEN AND ANY OTHER COMMUNICATION BETWEEN THE PARTIES RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT. Freeware Licensing Terms and Conditions 2BrightSparks grants you a limited non-exclusive license to use FREEWARE downloadable from 2BrightSparks for personal, educational, charity, and commercial use, and donations are entirely optional. If you are using the SOFTWARE free of charge under the terms of this Agreement, you are not entitled to support although we will respond to support requests if they relate to any SOFTWARE that is not performing it's task correctly (bugs etc). Our Freeware is licensed to you in accordance with the terms and conditions of this Agreement. You represent and warrant that you will not violate any of the requirements of this Agreement and further represent and warrant that: - You will not, and will not permit others to: (i) reverse engineer, decompile, disassemble, derive the source code of, modify, or create derivative works from our Freeware, or (ii) copy, distribute, publicly display, or publicly perform content contained in this Freeware other than as expressly authorized by this Agreement. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 531 SyncBackPro Help - You will not use our Freeware to engage in or allow others to engage in any illegal activity. - You will not engage in using our Freeware that will interfere with or damage the operation of the services of any third parties by overburdening/disabling network resources through automated queries, excessive usage or similar conduct. - You will not sell our Freeware or charge others for use of it (either for profit or merely to recover your media and distribution costs) whether as a stand-alone product, or as part of a compilation or anthology, without explicit prior written permission. - You will not use our Freeware to engage in any activity that will violate the rights of third parties, including, without limitation, through the use, public display, public performance, reproduction, distribution, or modification of communications or materials that infringe copyrights, trademarks, publicity rights, privacy rights, other proprietary rights, or rights against defamation of third parties. - You may not claim any sponsorship by, endorsement by, or affiliation with our company. Limitation of Liability Please read the LIMITATION OF LIABILITY above which applies to Freeware and Commercial software provided by 2BrightSparks Pte Ltd. 4.4 All Content: 2BrightSparks Pte Ltd © 2003-2021 T ranslators Over the years, SyncBack has been translated into a number of other languages thanks to the following individuals: · Armenian translation by Hrant Ohanyan · Catalan translation by Jordi Rodellar Fustero · Chinese (Simplified) translation by W. Jordan (Zuo Weiming) · Chinese (Traditional) translation by Larry Ho · Czech translation by Gerhard Svec and Vlamo · Danish translation by Mads Andersen · Dutch translation by René Diepenbroek, Gerard Entius and Hans Fraiponts · Finnish translation by Sami Hurmerinta and Jarkko Mäkineva · French translation by Pascal Thirion and Philippe Septier · German translation by Sascha Brathe (Brathe IT (B-IT)) and Stefan Aicher · Greek translation by Kostas Basileioy · Hungarian translation by Öreg Róbert and Jozsef Tamas Herczeg · Italian translation by Massimo Pedrazzoli and Roberto Lodigiani · Japanese translation by Kawai & Tsu_Kun © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Legal Information and Trademarks 532 · Korean translation by Jongun Ha · Norwegian translation by Kjetil Birkeland Moe · Polish translation by Lukasz Puzon Brodowski and Grzegorz Miros · Portuguese (Brazilian) translation by Walter Tabacniks and Edson Wunderlich · Romanian translation by Catalin Truta · Russian translation by Igor Pavlov · Spanish (Argentinean) translation by Gustavo Santiago · Swedish translation by Peter Larsen and Linus Rörstad · Ukrainian translation by Ambartsumyan Eduard All Content: 2BrightSparks Pte Ltd © 2003-2021 4.5 Runtime Intelligence Runtime Intelligence is a tool that provides feedback to developers about the way software is used. This information helps to drive improvements in functionality and ease of use. Is the data completely anonymous? Yes, completely. We do not collect or record any payment information, user names, passwords, email addresses, URL's, I.P. addresses, host names, file names, directory names, notes, filters, serial numbers, etc. or any kind of unique, private, personal or confidential data. What data are you collecting? The majority of the data simply provides us with information about which features of the software are being used. We record if a feature is enabled or not, and in some cases what level of the feature is being used. For example, what compression level or encryption level. This is done to help improve the software. By knowing which features are being used we can concentrate our efforts on making them better. Just as important, we will also note which features are not being used. We can then investigate why they are not being used and either enhance or remove them. We also collect some basic information such as what version of Windows is being used, what language you are using, which country and city you are in, etc. This helps us see what the minimum system requirements should be, for example, and also to see which languages we should concentrate more efforts on for translations. Where is the data stored? Google Analytics. All data stored on their systems is anonymous and private. We do not send them any personally identifiable information. In the unlikely event that their systems were breached it would have no impact on you. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 533 SyncBackPro Help Is the data that is sent used to prevent software piracy? No. We do not record serial numbers (for our software or any other installed software, including Windows) or anything related to detecting or preventing software piracy. We do record if the software is being evaluated or if it has been purchased, but nothing related to the serial number or any order information. I do/don't want to send Runtime Intelligence data. How do I change it? You can change it via the Global Settings window or via the Help main menu. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary Part V 535 SyncBackPro Help 5 Glossary AES Advanced Encryption Standard This is an encryption method used to secure communications or files. It is very hard to crack; to the extent that the U.S. Government use it for top secret documents. Alt Tag The alt tag is a label describing an image. It appears when the mouse is rolled over an image on a webpage (text within a small yellow window in Windows, white in Macs). It is particularly helpful for people who view pages in text-only mode and/or who have special software that converts the text to an audio equivalent. AFTP Anonymous file transfer protocol Abbreviation: anonymous FTP; AFTP. A system for using the standard FTP without requiring a user ID or password (see also FTP and SFTP). Anti-Virus Anti-virus software Anti-virus software is used to scan files for possible rogue instructions (viruses) that may have been attached to them. These instructions, if run by an application, might perform unwanted actions. Applet Small Java programs that 'auto install' when browsing (given the browser has Java enabled). Applets are designed to run on any system. Unlike an application, applets cannot be executed directly from the operating system. Sun Microsystems certifies applets or applications written in 100% pure Java will run in all systems equipped with a Java Virtual Machine, not just in Microsoft Windows environments. ASCII American Standard Code for Information Interchange ASCII is the standard method for encoding characters as 8-bit sequences of binary numbers, allowing a maximum of 256 characters. Text files are customarily called 'ASCII files'. ASCII also includes control characters such as carriage return and tab (see also Unicode). ASP Active Server Pages ASP stands for Active Server Pages. A blend of traditional HTML and database server language. When a server accesses an active content page, the requested page is passed through the database server where the code is processed, and a new HTML page is generated. This page is then returned to the regular web server and sent on to the user. Attachment A file which is 'attached' and sent as part of an e-mail message, e.g. much in the same way as one would attach a photo to a written letter with a paper clip. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 536 Attribute Read-only attribute Describes a file that may only be read and not changed, e.g. a files on a CD-ROM are by default read-only. This attribute can be assigned to most files or folders. A read-only file or folder cannot be modified or deleted, but a read-only folder may have its contents modified or deleted. If the device (e.g. CDROM) is not read-only in nature (e.g. a hard disk drive) then the read-only attribute may be removed to make the file or folder writeable if desired. Archive attribute The file has been marked by the operating system as an archive file. Applications or the operating system use this attribute to mark files ready for backup or removal. Every time a file is changed, or created, the file is marked with the archive attribute. Hidden attribute The file is hidden. It is not included in an ordinary directory listing. The hidden attribute is typically given to important operating system files, the reason being that they don't normally need to be seen or changed by the user. System attribute The file is part of the operating system or is used exclusively by it. As with the hidden attribute, this is typically given to important operating system files. Temporary attribute The file is being used for temporary storage. Offline attribute The data of the file is not immediately available. This attribute indicates that the file data has been physically moved to offline storage, e.g. tape, CD or DVD storage. Not indexed attribute (not content indexed) The file will not be indexed by the Windows content indexing service. Encrypted attribute A Microsoft file-based encryption technology that enables users to encrypt files and folders on NTFS-formatted volumes. EFS helps protect the confidentiality of data by ensuring that only authorized users can decrypt the encrypted files or folders. Compressed attribute This attribute denotes that the file has been compressed by the operating system to make it generally much smaller than the original size. Supported by NTFS volumes (Windows NT and newer). The benefits are the saving of disk space and under certain conditions, increased speed of access. Creation date attribute This attribute specifies the original creation date and time of file or folder. When the file or folder is created / newly made, creation date and time are recorded in file system. Last modified date attribute © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 537 SyncBackPro Help Indicates at the file system level when the last time the file or folder was modified. When the file's contents are modified or saved, the last modified date and time stamp is set to correspond with the time of those changes. Last accessed date attribute Indicates at the file system level when a file was last accessed. If the file is only opened for viewing, copying, moving, etc., the last accessed date is changed to when the operation took place. AVI Audio Video Interleave AVI is a common format on the Internet for movies and videos (typically Windows based). Contrary to popular belief, an AVI file is simply a container for any number of different video formats (see also MPG). Background Backup (SyncBack/SE/Pro) The process of running a backup profile in the background, i.e. without user-intervention. Running profiles in the background is similar to running profiles via the Windows Task Scheduler, except SyncBack must be running for them to run. Also background profiles typically run much more frequently than scheduled tasks, e.g. every 30 minutes. Backup A Backup is where files are copied one-way from the Source to the Destination. The backup process prohibits files being copied the other way round (see also Mirror and Synchronize). Bandwidth This is the maximum amount of data which can be carried at a given time by your Internet connection. Generally, the larger the bandwidth, the quicker data the data will be received or sent. Example: ADSL Broadband has a higher bandwidth than an analog modem. BMP Bitmap A type of lossless graphic file format used to save a digital image containing a color value for each pixel in a picture. It is a simpler format than a JPEG or GIF (see also GIF, JPG and TIFF). Boolean Search A Boolean search is one formed by joining simple terms in a logical way with "AND", "OR" and "NOT". Boolean terms can also be expressed in symbols like "-" instead of "minus" or "+" instead of "plus". Bug An unintentional programming error that causes a program or computer system to perform erratically, produce incorrect results, or crash. BWT Burrows-Wheeler Transform A compression algorithm used in BZip2 (see BZip2, Compression and Zip). © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 538 BZip2 BZip2 is a compression technique. It compresses most files more effectively than more traditional GZip or Zip, but it is slower (see also BWT, Compression and Zip). C and C++ These are both widely used computer programming languages. Cache A small area of fast memory provided to increase the effective speed of a large amount of slower memory. Your browser uses a 'cache' to store web pages and parts of web pages you have visited during a session. Instead of retrieving the page again from the Internet, your browser will get it faster from the cache. CAD Computer aided design CAD is the process of using a computer to assist in the design process, usually by automating the production of drawings. CAD techniques are widely used in engineering and architecture. CGI Common Gateway Interface CGI is the standard for running programs on a server from a Web page. Gateway programs,or scripts, are executable programs which can be run by themselves. CHMOD Originally from the UNIX world, CHMOD is used by FTP (File Transfer Protocol) programs for PC and Mac that allow the directory and file permissions to be changed over the Internet. Character Set The basic set of letters and symbols that a computer uses, or are included in a particular font. Compression Compression is the process of making a file smaller by using a complex algorithm of bit reduction (see also BWT, BZip2 and Zip). Cookie A cookie is a small data file that certain web sites write to your hard drive when you visit them with your browser. A cookie file can contain information such as a user ID that the site uses to track the pages you have visited. The only personal information a cookie can contain is information you supply yourself. A cookie can't read data off your hard disk or read cookie files created by other sites. CSS Cascading Style Sheets Cascading Style Sheets (CSS) refers to a style 'language' used by web designers to define presentational aspects of a web document (typeface, background, text, link colors, margin controls, and the placement of objects on a web page). Database © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 539 SyncBackPro Help A collection of data that is organized so that its contents can easily be accessed, managed, and updated. Delphi Delphi is a programming language and software development environment. It is produced by Embarcadero (formerly CodeGear, formerly Inprise, and originally Borland). The Delphi language, formerly known as Object Pascal (Pascal with object-oriented extensions) originally targeted only Microsoft Windows, but now also builds native applications for Linux and the Microsoft .NET framework. Destination The Destination is where files and directories are copied to in a backup profile (they are copied from the Source). In a synchronize profile the destination can generically be thought of as the "right side". Differences Window (SyncBack products) During a profile run, the Differences Window shows what will happen to files (whether they will be copied, deleted, or moved). For example, it will show you how many "collisions" have occurred. A collision is when a file in the source and destination differ but have the same name. In other words, the file is in both the source and destination but is modified in some way, perhaps by date, size etc. The differences window will help you decide what course of action to take based upon these results. Differential Backup Differential backups include backing up all files that have changed since the last full backup. Hence to restore all your data, all you would need are the last full and differential backups. The difference between differential and incremental backups is that incremental backups include only the files that have changed since the last full or incremental backup (see also Incremental Backup). In SyncBackPro, differential backups are possible using Fast Backup profiles. Directory (another name for Folder) In computing, a directory, catalog, or folder, is an entity in a file system which contains a group of files and other directories. A typical file system contains thousands of files, and directories help organize them by keeping related files together. A directory contained inside another directory is called a subdirectory (or sub-folder) of that directory. Together, the directories form a hierarchy, or tree structure. DLL Dynamic Link Library DLL files are a method for storing a program's components in separate files to the main program. DLL files typically have the extension .DLL and cannot be launched directly. DNS Domain Name System When you type in a website address (e.g. www.2brightsparks.com) into your browser, a domain name server (typically at your ISP) translates this into a numerical address, known as an IP Address, so your request can be routed to the correct site. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 540 Domain Internet Domain An Internet Domain A 'logical' region of the Internet. People sometimes refer to them loosely as 'sites. Generally, a domain corresponds to one or more IP addresses or an area on a host. A domain is organized in levels. The top level identifies geographic or purpose commonality. The second level identifies a unique place within the top level domain and is, in fact, equivalent to a unique address on the Internet (an IP address). Windows Domain In Windows NT and newer, a domain binds together a set of network resources (applications, printers, and so forth) for a group of users. The user only has to log in once to the domain to gain access to the resources, as opposed to having to authenticate to each one. Download Downloading is typically the transfer of data from the Internet down to a computer. A download in its widest definition is the calling up of web pages from a browser. The more usual and focused use for the term download is when a user requests a file from a location on the Internet and makes a copy of that file onto their own computer (see also Upload). Encryption Encryption is a process whereby information is scrambled so no unauthorized person can access it (see also EFS and TrueCrypt). EFS Encrypting File System The Encrypting File System (EFS) is a file system driver that provides filesystem-level encryption in Microsoft Windows (2000 and later) operating systems, except Windows XP Home Edition, Windows Vista Basic, and Windows Vista Home Premium. The technology enables files to be transparently encrypted on NTFS file systems to protect confidential data from attackers with physical access to the computer. Ethernet Ethernet is one of the most popular standards for connecting PC's to form a local area network. It can be carried over a wide number of media, including copper, fiber-optics and wireless. Extension On computers using MSDOS or Windows, the last part of a filename, after a dot (period) is known as the extension These systems use the extension for indicating the type of information that the file contains. For example, the main program file for SyncBackPro is called SncBackPro.exe, the `exe' indicating that it is an executable program. A file called ReadMe.txt is a text file. FAQ Frequently Asked Questions This is simply a compilation of frequently asked questions, the intention being that it should be the first port of call when a user is looking for answers to a problem. Fast Backup © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 541 SyncBackPro Help This is an option within SyncBackSE/Pro to greatly improve the performance of a backup profile by not scanning the destination first. This allows for other backup methods such as Incremental and Differential. It is recommended that the FAQ is read carefully before using this feature. FAT File Allocation Table File Allocation Table (FAT, FAT12, FAT16 and FAT32) are file systems that were developed for MS-DOS and used in consumer versions of Microsoft Windows up to and including Windows 7. The FAT file system is considered relatively uncomplicated, and because of that, it is a popular format for floppy disks; moreover, it is supported by virtually all existing operating systems for personal computers, and because of that it is often used to share data between several operating systems booting on the same computer (a multi-boot environment). It is also used on removable memory cards and other similar devices. It is important to note that the different variants of FAT have their various limitations. For example, the maximum file size you can store on a FAT system is 32MB, 2GB on FAT16 and 4GB on FAT32 (see also FAT32). FAT32 This is the last in the line of Microsoft's FAT file systems. In order to overcome the volume size limit of FAT while still allowing memory-constrained DOS real-mode code to handle the format, Microsoft decided to implement a newer generation of FAT, known as FAT32, with 32bit cluster numbers, of which 28 bits are currently used. File Versioning See Versioning Firewall Firewalls are special devices, computers or computer programs that are installed on a network to prevent intruders from stealing files, snooping or disabling the host computer(s). In the home environment the firewall is usually a piece of software installed on the individual's computer. In the corporate environment it is an `appliance' type device that intercepts, blocks or allows, all data coming in and out of the whole organization. Folder (another name for Directory) A folder is a file container on a disk. Like a folder in a filing cabinet, you can store related files in the same folder to help organize your information. FTP File Transfer Protocol The most widely-used method of downloading and uploading (getting and putting) files between two computers on the Internet. FTP is a simple network protocol based on Internet Protocol and also a term used when referring to the process of copying files when using FTP technology (see also AFTP and SFTP). FTPS File Transfer Protocol Secure FTPS (also known as FTP Secure and FTP-SSL) is an extension to the commonly used File Transfer Protocol (FTP) that adds support for the Transport Layer Security (TLS) and the © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 542 Secure Sockets Layer (SSL) cryptographic protocols. FTPS should not be confused with the SSH File Transfer Protocol (SFTP), an incompatible secure file transfer subsystem for the Secure Shell (SSH) protocol. It is also different from Secure FTP, the practice of tunneling FTP through an SSH connection. (see also SFTP and FTP). GIF Graphics Interchange Format A type of image file format. It is the most common way to compress and store images for transfer over the Internet. It supports animations and allows a separate palette of 256 colors for each frame. Color palette limitations makes the GIF format unsuitable for reproducing color photographs, but it is well-suited for simpler images such as graphics or logos with solid areas of color (see also BMP and JPG and TIFF). Group Profile In the SyncBack series of products, a Group Profile is a collection (set) of Profiles. They allow you to run a number of profiles in parallel or a specific order. Hash (as in CRC32 or MD5 value) A hash function is a process that converts an input from a (typically) large domain into an output in a (typically) smaller range (the hash value, often a subset of the integers). Hash functions vary in the domain of their inputs and the range of their outputs and in how patterns and similarities of input data affect output data. It is typically used in the verification of file provenance e.g. as a checksum to detect accidental data corruption during a download. CRC A cyclic redundancy check (CRC) is a type of hash function used to produce a checksum, which is a small number of bits, from a large block of data, such as a packet of network traffic or a block of a computer file, in order to detect errors in transmission or storage. A CRC is computed and appended before transmission or storage, and verified afterwards to confirm that no changes occurred. MD5 In cryptography, MD5 (Message-Digest algorithm 5) is a widely-used cryptographic hash function with a 128-bit hash value. As an Internet standard, MD5 has been employed in a wide variety of security applications, and is also commonly used to check the integrity of files. Host 1. A company that rents out space on the Internet to allow you to place web pages on it (see also Web Host) 2. The generic name for a computing device connected to a network, be it a LAN or the Internet. Hot-Key A Hot-Key is the name given to a keyboard shortcut (also known as an accelerator key, shortcut key, or hot-key). It comprises a set of keyboard keys that when pressed simultaneously, perform a predefined task. Such a task could be done with the mouse (or other analog input such as a trackball), but would require much longer. Hence, they are a shortcut in that they save the user time. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 543 SyncBackPro Help HTML Hypertext Mark-up Language HTML is the common language that lies behind most web sites and their pages found on the on the World Wide Web. It defines a set of standards that enable the author to format a page in a variety of different styles and appearances. HTTP Hypertext Transfer Protocol This is the name given to the Internet protocol standard for defining the way computers transmit data on the Internet during a browser session. An exchange between your browser and web site will consist of an HTTP `conversation' that finally results in you receiving and displaying web pages. Many Internet addresses begin http, for example: http://www.2brightsparks.com HTTPS Hypertext Transfer Protocol Secure This protocol elevates HTTP to a secure level and is required for pages that require a SSL (secure sockets layer) connection. Hypertext A hypertext link is a special word or phrase in a web page that 'points' to another page. When clicked upon, you are taken to the page the link refers to, thus enabling navigation. Visually, links are typically underlined or contained within graphic elements. Icon A small image on the computer's display which represents some action or object. IMAP4 Internet Message Access Protocol This is an Internet protocol that defines and controls how emails are received by an email program from an email server that supports IMAP4. It is primarily used by users who don't have permanent connections to their email server (delivery on demand). The ISP's IMAP4 server receives and holds messages that have been sent to the user until their email program connects up and retrieves them (see also POP3 and SMTP). IP Address Internet Protocol Address The 32-bit address defined by the Internet Protocol. Every resource on the Internet has a unique numerical IP address, represented in dotted decimal notation. IP addresses are the closest thing the Internet has to phone numbers. By calling that number you get connected to the computer that 'owns' that IP address (see also IP). Incremental Backup An Incremental Backup just backs up the data which has its Archive bit set, or has been changed since the last full or incremental backup (see also Differential Backup). In SyncBackPro, incremental backups are possible using Fast Backup profiles. InterNIC Internet Information Centre © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 544 InterNIC is the combined name for the regulatory body that provide registration, information, and database services to the Internet. Intranet A private network inside a company or organization that uses the same kinds of software and resources that you would find on the public Internet, but which is only for internal use. IP Internet Protocol An industry standard, connectionless, best-effort packet switching protocol used as the network layer in the TCP/IP Protocol Suite. It has the task of delivering distinguished protocol datagrams (packets) from the source host to the destination host solely based on their addresses. ISO (file format) International Organization for Standardization An ISO file is an archive file (also known as a disk image) of an optical disc such as a CD or DVD. The term ISO has been somewhat hijacked simply because the format is defined by the International Organization for Standardization (ISO). ISO image files typically have a file extension of .ISO. ISP Internet Service Provider Primarily a company that gives you access to the Internet, but will normally offer other services such as email, website hosting and online databases. Jar Java Archive A file format used to bundle all components required by a Java applet. JAR files simplify the downloading of applets since all components (.class files, images, sounds, etc.) can be packaged into a single file. Java A programming language developed by Sun Microsystems. Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Many websites rely upon the applications it produces, and whilst being a predominantly Internet-based language, it can also be found in devices such as mobile phones. Joliet Joliet is a file system extension designed by Microsoft for storing long filenames on optical media. It extends the previous standard (ISO9660 Level 1) which was only able to store filenames with 8.3 filenames (an 8 character filename followed by a 3 character extension). JVM Java Virtual Machine A self-contained operating environment that behaves like a separate computer and is designed to minimize the effects of badly-behaved programs. For example, Java applets run in a Java virtual machine (JVM) that has no access to the host operating system. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 545 SyncBackPro Help Java Bean JavaBeans are reusable software components for Java that can be manipulated visually in a programming tool. JavaScript Not to be confused or associated in any way with Java, JavaScript is a scripting language which is used to embed small programs such as pop-up windows into the HTML code of a webpage. JPG / JPEG Joint Photographic Experts Group A standard type of image file commonly found on the Web. It uses a variable compression technique to reduce the size of the file and is especially suitable for photographic images (see also BMP, GIF and TIFF). Junction Point (also called a Reparse Point) In computing, a NTFS junction point (JP) is a type of NTFS reparse point in the NTFS file system. It requires a NTFS 5.0 file system, which can be created (or converted from a FAT partition) under Windows 2000 or newer. It can be used in a similar way to symbolic links allowing you to create a link to a folder that is, for most intents and purposes, the same as the folder itself. This has many benefits over a windows shortcut (.lnk) file, such as allowing you to access files within the shortcut via explorer, the console, etc. KB Kilobyte A kilobyte is a unit of memory capacity equal to 1024 bytes. It isn't 1000 bytes as might be expected because computers tend to favor sizes that are a power of two (1024 is two to the power of 10). LAN Local Area Network A LAN is a Local Area Network allowing several connected computers and/or peripherals to work together and share resources. The various devices are typically connected using a high speed link (10mb/s or greater) over cabled or wireless Ethernet. Locale A subset of a user's environment that defines conventions for a specified culture, such as time formatting, numeric formatting, monetary formatting, and character classification, conversion, and collation. Locked files A file becomes locked when an application opens it for writing. SyncBackSE/Pro is able to backup these files by utilizing Windows' VSS (see also VSS). Log-in A user or program logs in by providing a user name and password to gain access to a restricted area of a network, web site or computer. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 546 Malware Software which is specifically designed to disrupt, damage, or gain authorized access to a computer system. MB Megabyte A megabyte is a unit of memory capacity equal to 1,048,576 bytes. It isn't 1,000,000 bytes as might be expected because computers tend to favor sizes that are a power of two (1024 is two to the power of 10). Merchant The organization accepting credit card or other e-payments for the goods or services they provide. MDTM MoDification TiMe [of a file] When communicating with an FTP server, this command returns the last-modified time of the given file. A few types of FTP server allow setting the last-modified time of a file using this command (see also MFMT). MFMT MODIFY FACT: MODIFICATION TIME MFMT is a command used in FTP to modify the last modification time of a folder or file on the destination file system. MIME Multipurpose Internet Mail Extensions An extension to the Simple Mail Transfer Protocol (SMTP) that allows different forms of data including video, audio, or binary data to attach to e-mail, without requiring translation into plain ASCII text. Mirroring Mirroring is the process whereby the source is copied in its entirety to the destination. During this process, extraneous files are also deleted from the destination until it is identical to the source. MLSD MLSD is a machine readable format for directory listings. MLST and MLSD are FTP commands intended to provide detailed, standardized directory listings across different server platforms. MODE Z Compression Mode Z compression compresses files-on-the-fly as they are being transferred from the local computer to the remote computer and remote to local, saving bandwidth and improving transfer time. MPG, MPEG Motion Picture Experts Group © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 547 SyncBackPro Help MPG is a common video format for movies and videos, especially those on DVD. Any computer with DVD playing facilities will be able to play MPG files (see also AVI). NAS Network Attached Storage A NAS device is a server that runs an operating system specifically designed for the storage and serving of files Network-attached storage is accessible directly on the network through protocols such as TCP/IP. Think of it as a dedicated Windows computer that serves little or no other role than to store and serve files (see also Server). NAT Network Address Translation NAT is a technique that hides a private IP address behind a single IP address in another, often public address space. It is commonly used in home ADSL broadband routers for adding an extra layer of protection from the Internet. Network Two or more computers working together so they can exchange information with each other (see also LAN). Network Drive See Share NTFS New Technology File System The NTFS File System is the standard file system of Windows NT and its descendants. Windows version 95, 98, 98SE and ME, cannot natively read NTFS file systems, although utilities do exist for this purpose. NTFS replaced Microsoft's previous FAT file system, used in MS-DOS and early versions of Windows. NTFS has several improvements over FAT such as improved support for meta-data and the use of advanced data structures to improve performance, reliability and disk space utilization plus additional extensions such as security access control lists and file system journaling. OSP Online Service Provider An OSP offers specific proprietary content in addition to the usual World Wide Web and Internet access, for example, AOL. Payment Service Provider A third party service provider directly linked with credit-card authorization network for the acceptance of credit cards and e-payments for orders placed online. PGP Pretty Good Privacy Software that encrypts important information so it can be sent over the Internet securely. PGP offers strong encryption and is available free to home users. PDF Portable Document Format © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 548 Adobe® Portable Document Format (PDF) is the cross-platform standard for electronic document distribution worldwide. Adobe PDF is a universal file format that preserves all the fonts, formatting, graphics, and color of any source document, regardless of the application and platform used to create it. POP3 Post Office Protocol 3 This is an Internet protocol that defines and controls how emails are received by an email program from a POP3 server. It is primarily used by users who don't have permanent connections to their email server (delivery on demand). The ISP's POP3 server receives and holds messages that have been sent to the user until their email program connects up and retrieves them (see also IMAP4 and SMTP). Port In TCP/IP communications, devices communicate with each other over certain port numbers. Each side of a TCP connection has an associated 16-bit port number assigned by the sending or receiving application. For example, web pages are sent over port 80 (HTTP), FTP communications are sent over port 21. Profile (as in a SyncBack/SE/Pro profile) A Profile defines and stores information about the folders or files you would like to backup or synchronize using SyncBack/SE/Pro. Once you've created a Profile you'll be able to click a single button on the toolbar to carry out a specified task in the future. They can be edited to fine-tune any type of backup process. Protected Files Protected files are critical system files that are installed as part of Windows (for example, files with a .dll, .exe, .ocx, and .sys extension and some True Type fonts). Windows uses a system to verify if protected system files are the correct Microsoft versions. If a program tries to replace these files, Windows will restore the original ones. Protocol Protocol is the term used to describe the standard for communication between computers. If two computers have a protocol in common, then they should be able to communicate even if they are completely different. There are a range of standard protocols to cover the different types of communication application. For example: DNS (naming); FTP (file transfer); HTTP (World-Wide Web documents); NNTP (news); POP, SMTP (e-mail). Proxy Server A proxy server is a computer network service which allows clients to make indirect network connections to other network services. A client connects to the proxy server, then requests a connection, file, or other resource available on a different server. The proxy provides the resource, possibly by connecting to the specified server, or by serving it from a cache. In some cases, the proxy may alter the client's request or the server's response for various purposes. One of the benefits of such a scheme is in the speeding up of web content to the client. Public Domain © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 549 SyncBackPro Help If a work is in the 'public domain' it is generally freely distributable although at times companies may have rights over distribution. Ransomware A type of malicious software designed to block access to a computer system until a sum of money is paid. See also virus and malware. Redirect URL A Web site address that when called redirects the user to a different URL. For example when a user enters www.bbc.com into their web browser they will be automatically redirected to www.bbc.co.uk ReFS Resilient File System A new file system introduced by Microsoft with Windows Server 2012. It is based upon the NTFS file system but is not a replacement for it. ReFS is typically used to store large amounts of data, e.g. to be used with file or archive servers. Registry The Registry is a storage area in Windows that keeps a record of nearly every Windows setting you are able to change, plus all the user-invisible settings that it needs to keep track of the operating system itself. For example, your desktop settings, such as the screen saver, screen color and background image are all stored here so that when you log in to Windows these will be applied as per the settings you previously defined. It should not be manually edited unless you are confident you know what you are doing. Regular Expression A regular expression (abbreviated as regexp, regex, or regxp, with plural forms regexps, regexes, or regexen) is a string that describes or matches a set of strings, according to certain syntax rules. Regular expressions are used by many text editors and utilities to search and manipulate bodies of text based on certain patterns. Relational Database A relational database is one whose structure is made up of numerous separate but linked tables. The key advantage of a relational database is that duplication of entries is significantly reduced or even eliminated, allowing for the efficient management of larger databases. Removable Media This is a type of storage device that may be physically inserted and removed from the computer, assuming the operating system allows it. Examples of this are: USB memory sticks, external hard drives, CDs, DVD's or tapes. These can be especially useful if simple offsite backups are required. Reparse Point Reparse points provide a way to extend the NTFS file system by adding extra information to the directory entry, so a file system filter can interpret how the operating system will treat the data. This allows the creation of junction points and NTFS symbolic links. They also can act as hard links, but aren't limited to point to files on the same volume: they can point to directories on any local volume. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 550 Restore A Restore copies files from a previous backup on the Destination back to the Source, such as in the event of a file being accidentally deleted. It is the opposite of a Backup therefore no files are copied from the Source to the Destination. SAMBA Samba is a piece of free software that allows file and print sharing between computers running Windows and computers running UNIX. It is widely used on NAS servers to provide compatibility with Windows clients (see also NAS). Schedule (as in scheduling using Windows Task Scheduler) SyncBack/SE/Pro interfaces with the Windows Task Scheduler to allow you to run profiles automatically at certain times, e.g. run a backup profile every day at 5am. On Windows XP you can access the task scheduler via the Start menu (All Programs > Accessories > System Tools > Scheduled Tasks). Scripting Scripting is a method of automating or tailoring a process by means of a sequence of commands contained within a script file. SyncBackPro may be controlled in this way, negating the need for manual user input. This is particularly useful where repetitive tasks are called for, or functionality needs to be extended or changed. Secure Credit Card Transactions When goods are bought on the Internet, there are two main systems which are used to transfer credit card details securely: SSL (Secure Sockets Layer) and SET (Secure Electronic Transactions). These processes encrypt the transaction details in order for them to be sent securely over the internet and then decrypt them at the sales point. Share A network or file share is a resource on a computer network, typically allowing multiple computer users on the same network to have a centralized space on which to store files (documents, spreadsheets, etc) and share amongst each other. Server A server is a powerful, high-storage capacity computer or device on a network that contains and publishes resources, such as file shares and printers for users to utilize. Its only role is to serve and is not used as a traditional computer, thus keeping its responsiveness and availability high at all times. Servlet A servlet is an applet that runs on a server. The term usually refers to a Java applet that runs within a Web server environment. This is analogous to a Java applet that runs within a Web browser environment. SFTP Secure File Transfer Protocol © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 551 SyncBackPro Help A secure version of FTP: the most widely-used method of downloading and uploading (getting and putting) files between two computers on the Internet. It makes use of the SSH protocol to secure the data (see also FTP and FTPS). SHA-1 In cryptography, SHA-1 (Secure Hash Algorithm 1) is a cryptographic hash function which takes an input and produces a 160-bit (20-byte) hash value known as a message digest typically rendered as a hexadecimal number, 40 digits long. SHA-2 SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA).[3] They are built using the MerkleDamgård structure, from a one-way compression function itself built using the DaviesMeyer structure from a (classified) specialized block cipher. SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of six hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA-224, SHA-256, SHA-384, SHA-512, SHA512/224, SHA-512/256. Shareware Shareware is software distributed on the basis of an honor system. Most shareware is delivered free of charge, but the author usually requests that you pay a fee if you like the program and use it regularly or after a specified trial period. S.M.A.R.T. Self-Monitoring, Analysis, and Reporting Technology This technology is built in to many hard disk drives and if monitored by software, provides an early warning of impending failure, based upon various status indicators. Intelligent Synchronization SyncBackSE/Pro uses this method to copy files in both directions, whilst keeping a history of where files were during the last synchronization. This allows for much finer control over what actions to take based on what has changed, and also allows it to detect changes such as the file only being modified in the source or destination (see also Synchronize). SMTP Simple Mail Transfer Protocol The Internet protocol responsible for specifying how two mail systems interact and the format of control messages they exchange to transfer mail. Most ISP's will have one of more SMTP servers that receive and forward emails from other SMTP servers around the world. From a home user point of view they send email using SMTP and receive it using POP3. Sparse file A file containing large sections of data composed only of zeros, which is marked as such in the NTFS. The file system saves disk space by only allocating as many ranges on disk as are required to completely reconstruct the non-zero data. When an attempt is made to read in the non-allocated portions of the file (also known as holes), the file system automatically returns zeros to the caller. SQL © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 552 Structured Query Language SQL Server is Microsoft's relational database management system (RDBMS). It uses a client/server model whereby the data access logic is executed on the server. This is as opposed to a file-based database like Microsoft Access where queries are executed on the user's PC. SSL Secure Sockets Layer SSL is a process encrypts the channel between a Web browser and Web server to ensure the privacy and reliability of data. It is used extensively in online banking and purchases. Synchronize The Synchronize operation is when files are copied to and from the source and destination. The aim of this process is to maintain identical copies of the data on both machines, regardless of which side the data changed. One of the caveats of using this method is the possibility of collisions (conflicts). For example if the same file is changed on both sides SyncBack will prompt the user for a decision, or it can be configured for an automated action for convenience. After synchronization, the source and destination should contain the same files and directories, i.e. are a mirror of each other. TCP-IP Transport Control Program/Internet protocol TCP/IP is the well-defined and almost exclusive system of protocols used for communication over the Internet. Whereas the IP packet portion of the protocol is connectionless and only makes a best-effort attempt to communicate, TCP makes sure the packets have arrived and that the message is complete. TIFF Tagged image file format A type of image file format. TIFF files may contain multiple images, and support a variety of color depths and may use lossless compression, making the file sizes a good deal bigger than the same with JPG formatting. There are several variations and cross-compatibility is sometimes a problem (see also BMP and JPG). TLS TLS is a cryptographic protocol that supersedes SSL. Like SSL it provide high security and data integrity for communications between computers (see also SSL). Tray Icon Tray icons appear in the Windows System Tray (Taskbar corner). This is the small bar at the bottom right-hand area of your screen. It is normally used to show the status of "utility" type programs running in the background. Usually, if you double-click or right-click them, they'll open up or bring up a menu. SyncBack can be minimized or `closed' to appear in this area. TrueCrypt TrueCrypt is a proprietary software application used for real-time on-the-fly encryption (see also EFS and Encryption). UDF © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 553 SyncBackPro Help Universal Disk Format UDF is a standardized common file system for all optical media, e.g. CDs and DVDs. The format is designed to make a common file system for read-only and re-writable optical media. UAC User Account Control User Account Control is a security component in Windows Vista and newer. UAC elevates the user's account privileges thus enabling them to perform common tasks as nonadministrators (called standard users in Windows Vista) as administrators without having to switch users, log off, or use Run As. UNC Universal Naming Convention or Uniform Naming Convention A UNC specifies a common syntax to describe the location of a network resource, such as a shared file, directory, or printer. The Windows UNC syntax is as follows: \\ComputerName\SharedFolder\Resource Additionally, one can connect a drive letter to the UNC for ease of access in Windows, but the raw UNC name can be used to access resources in the same location just as well. Unicode Unicode is a character encoding standard developed by the Unicode Consortium. The aim of the standard is to provide universal way of encoding characters of any language, regardless of the computer system, or platform, being used. The system achieves this by using two bytes (16 bits) for every character rather than the one byte (8 bits) as used by ASCII. UNIX An old but venerable operating system very widely used on medium sized, multi-user servers, and in top-of-the-range desktop computers. Its characteristics are reliability and efficient use of computer hardware but some variations have a somewhat arcane user command-line interface. Most modern versions now have a graphical user interface that allows mouse input, but it is still the domain of the technically proficient. Modern day incarnations now include Linux and all its desktop variants. Upload Uploading is the process of sending bulk information from your computer to another computer or server on the Internet. For example if you use a photo sharing website, you are uploading your files to them (see also Download). URL Universal Resource Locator A URL is the technical term for `Web site address'. This is usually the address of a website or document on the Web (e.g. http://www.2brightsparks.com) Usenet Usenet is short for User's Network. It is a collection of thousands of online bulletin boards residing on the Internet. Each bulletin board is arranged in a hierarchical fashion and contain © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 554 discussion groups (or newsgroups) dedicated to a myriad of topics. Messages are posted and responded to by readers either as public or private emails. User Interface (or UI) That part of a computer program that controls interaction with the user. For example, in Windows, you are presented with a Start button, task bar, desktop, system tray and moveable mouse pointer. This whole experience is termed the User Interface. Another example is the 2BrightSparks series of products, which strive to give you the most attractive and useable User Interface possible. Variables In computer languages, a variable is simply a name assigned to a mathematical value, text, or multitude of other objects that exist within that environment. Windows has a set of predefined variables that the operating system uses to reference all sorts of values (type in set at a command prompt for an example). SyncBackSE/Pro use a range of variables that can be used in the Source and Destination settings for a profile when scripting a backup task. Versioning When this SyncBackSE/Pro feature is switched on, a backup version of a file is automatically created before it is moved, replaced or deleted. If one of these operations subsequently turned out to be a mistake then you can restore one of the previously saved versions. VHD VHD (Virtual Hard Disk) is a file format which represents a virtual hard disk drive (HDD). It may contain what is found on a physical HDD, such as disk partitions and a file system, which in turn can contain files and folders. It is typically used as the hard disk of a virtual machine. Virus A virus is an unwanted, malicious piece of software that is designed to reproduce itself and adversely affect data on your computer or its performance. New viruses are written and distributed around the Internet every day by unprincipled persons. If your computer is connected to the Internet you should always use Anti-Virus software and a firewall to combat these. Also ensure that it is up-to-date with your publisher's latest anti-virus definitions. You should also download and install the latest Microsoft critical updates as they are published. Use the Security Center in Control Panel to configure your system appropriately. See also malware and ransomware. VSS Volume Shadow Copy Service Volume Shadow Copy Service is a background service in Windows XP and newer that provides a method of creating snapshots of files and directories at predefined points in time. The service runs at the block-level, not the file level which means it is able to backup open or locked files. These snapshots can then be used to restore data files and folders from a previous point in time. It is used by the Windows Backup utility and of course SyncBackSE/Pro. WAV © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 555 SyncBackPro Help A WAV file is an audio format file and denoted by the extension .wav. It typically contains an uncompressed PCM (Pulse Coded Modulation) audio bit stream unlike MP3, which has various stages of compression to achieve smaller file sizes relative to the raw version. Web Host This is company that rents out space on the Internet to allow you to place your website on it. They provide the hardware, servers, backbone connections, backup system etc. where your data is housed. They also make sure your site is available to site visitors at all times. Webmaster A webmaster is someone who manages a web site. They make decisions about its content, style and administration. Large sites may employ additional content directors or editors. On smaller sites, webmasters may make these decisions and accept news releases directly. Web Site A Web Site is a collection of web pages, graphical images, videos and other digital resources that are hosted on one or more web servers. It is usually (but not always - see Intranet) accessible via the Internet. The content is constructed into a web page (normally an HTML document) that the web server sends to the user's web browser for display. The pages of a website can usually be accessed from a common root URL called the homepage. The URL's of these pages are organized into a structured hierarchy, although the hyperlinks between them control the orderly navigation of the whole site. WAN Wide Area Network A WAN is network which covers a large geographical area. A well-designed WAN has some form of redundancy built in to allow for link faults between, or with, the various nodes. In the event of such a fault, the traffic will be re-routed through another node, thus maintaining resilience. The best-known wide area network is the Internet. WinRAR WinRAR is a shareware file archiver and data compression utility. It is one of the few applications that is able to create native RAR archives, because of its proprietary encoding algorithm (see also BWT, BZip2, Compression and ZIP). XCRC The XCRC is a CRC (Cyclic Redundancy Check) algorithm to calculate the hash value of the file being copied. This value can be used to verify the integrity of the file transfers. If the CRC values of the local and remote file match, both files are considered equal and therefore the transfer is successful. X-Window UNIX has traditionally been a command-line, text-based operating system and can be daunting for novices. For people seeking an easier way to use UNIX, X-Windows is a standard for providing it with a windowed user interface, much in the same way of Microsoft Windows. The ability to divide and order the screen into windows is an important feature in the provision of a graphical user interface, as is the use of a pointing device. X-Windows provides both in an effort to ease the learning UNIX curve. © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Glossary 556 Zip Compression, Zip File Zip Compression is a method of compressing one of more files and folders into a single file with the aim of reducing the overall file size. This file can then be emailed, transmitted by FTP or copied onto removable media for the recipient to unzip (uncompress) it. Text files, such as Word and Notepad are highly compressible, as are other Microsoft Office documents. Photos and binary files are less so, but will nearly always compress a certain amount. SyncBack is able to backup data to and restore from a ZIP file. There are also a wide range of 3rd party tools that will unzip these files, ranging from WinZip to the command line PKUnzip (see also BWT, Compression and BZip2). Legal Information © 2003 2021 2BrightSparks Pte Ltd. All Rights Reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of 2BrightSparks Pte Ltd. Some portions of this glossary used sections from the open source encyclopedia http://www.wikipedia.org/ Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. System Requirements Part VI 6 System Requirements System Requirements 558 System Requirements SyncBackPro requires one of the following versions of Windows: · Windows 11 · Windows 10 · Windows 8.1 · Windows 8 · Windows 7 · Windows Vista · Windows Server 2008 or newer Both 32-bit and 64-bit versions of Windows are supported. SyncBackSE and SyncBackPro are available in 32-bit and 64-bit versions. SyncBackFree is only available as a 32-bit version. See the 32-bit vs 64-bit section for more details. Windows XP, 2003 and earlier are not supported. Non-genuine versions of Windows are not supported, e.g. Wine. Refer to the Open and Locked File Copying section for details on the requirements for copying open/locked files. How to find out what system a drive is using SyncBackPro produces log reports which will show what File System you are currently using. To view a log report select a profile, then View Log from the Task menu - you may also use the shortcut keys "Ctrl" and "L" after selecting a profile. All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Company Information Part VII Company Information 560 7 Company Information 2BrightSparks Pte Ltd was incorporated in 2004 and continues to deliver high quality utility software solutions used by individuals, IT professionals, corporations, educational institutions, and government agencies across the globe. View some of our many noted customers on our website. In August 2008 2BrightSparks built upon the incredible success of SyncBack Freeware and the multi-award winning commercial program SyncBackSE by introducing SyncBackPro which has become the professional's choice for backup, synchronization, and restoration of Windows files. The release of SyncBackFree in 2012 ensured everyone using a Windows computer now has the opportunity to enjoy a backup program that inherits the up to date, rock solid reliability of its more powerful namesakes. For more about the 2BrightSparks team go to: https://www.2brightsparks.com/about.html Company Website www.2brightsparks.com Sales and Support Sales and Support are available by submitting a support ticket from our Support Area. Payment Processor All payment transactions at 2BrightSparks are handled through the FastSpring payment system. At no time do we process or save customer payment card details on our website. If you would like to learn about FastSpring visit their site at: http://www.fastspring.com/ All Content: 2BrightSparks Pte Ltd © 2003-2021 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 561 SyncBackPro Help Index - $ - $root 196 0xFFFFFF99 (Windows Task Scheduler return codes) 448 0xFFFFFF9A (Windows Task Scheduler return codes) 448 0xFFFFFF9B (Windows Task Scheduler return codes) 448 0xFFFFFF9C (Windows Task Scheduler return codes) 448 - %- - 2 - %20 186 %22 186 %2A 186 %3A 186 %3C 186 %3E 186 %3F 186 %7C 186 - . - .WAV 271 - 0 - 24671 UDP port 216 2BrightSparks Privacy Statement 522 2BrightSparks: Company Information 560 2BrightSparks: General Terms and Conditions 523 - 3 - 32-bit 558 32-bit compatibility 447 - 6 - 64-bit 558 64-bit compatibility 447 0xFFFFFF8F (Windows Task Scheduler return codes) 448 0xFFFFFF9? (Windows Task Scheduler return codes) 448 0xFFFFFF90 (Windows Task Scheduler return codes) 448 0xFFFFFF91 (Windows Task Scheduler return codes) 448 0xFFFFFF92 (Windows Task Scheduler return codes) 448 0xFFFFFF93 (Windows Task Scheduler return codes) 448 0xFFFFFF94 (Windows Task Scheduler return codes) 448 0xFFFFFF95 (Windows Task Scheduler return codes) 448 0xFFFFFF96 (Windows Task Scheduler return codes) 448 0xFFFFFF97 (Windows Task Scheduler return codes) 448 0xFFFFFF98 (Windows Task Scheduler return codes) 448 - 7 - 7-Zip 169 - 8 - 8080 TCP port 216 8081 TCP port 216 - A - A: Drive 463 Access Denied 232, 239, 242 Access Policy (S3) 207 Active FTP connection 195 ActiveX registration 95 Advanced Compression Settings 169 Advanced Email Log Settings 267 Advanced FTP Settings 190 Advanced Network Settings 224 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Index 562 AES Encryption 168 -affinity 448 Agent 508 Alipay - pay using 9 AllDrives.vbs 438 Already compressed files 170 Alternate data streams 232 Alternatives 127 Amazon Cloud Drive 196 Amazon Cloud Drive Delta 207 Amazon Glacier 196 Amazon Payments - pay using 9 Amazon S3 196 American Express - pay using 9 An overview of Backing up 23 An overview of Intelligent Synchronization 28 An overview of Mirroring 23 An overview of Restoring 23 An overview of Synchronization 23 Android file server 216 Anonymous data collection 532 Apple file server 216 Archive attribute 137 Audible prompts 272 Auto-close Settings 276 Auto-collapse 126 Automating SyncBackPro 32 Azure 196 - B - B: Drive 463 Backing up for the first time 37 Backup Agent 508 Backup directory for profiles (when upgrading) 36 Backup Email 213 Backup Email Proxy 216 Backup Google Photos 163 Backup profiles 95 Backup scenarios 25 Backup verification 253 Bandwidth 243 Base files 250 Basic Operation 51 Basic script language 305 Bing Speech 272 BitLocker VHD files 161 Blobl Tier 207 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Broken transfers 243 Bucket names 196 Bucket naming rules 196 Burger menu (profile configuration) 126 Buy SyncBackPro and SyncBackSE 9 BWT 165 BZip2 165 - C - Calendar Image 95 Calling DLL functions from scripts 312 Cannot open file: it does not appear to be a valid archive. 169 CCC 195 Cell phones 160 Central cloud accounts 113 Centralized Management 505 Changes 226 Changing preferences 86 Changing Simple Settings 127 Citrix ShareFile 196 Clear Command Channel 195 -clearss 448 Click For Options 126 Close programs 276 Cloud 196 Cloud accounts 113 Cloud Advanced Settings 207 Cloud and Zip backup 137 Cloud Proxy 196, 212 Cloud storage: choosing a service 196 Cold (cloud) storage (warning instead) 261 Collisions 46, 289 Columns 93 Columns Main Menu 93 COM registration 95 Command line 448 Command Line Parameters 448 Command-Line Parameters 448 Comments on profiles 278 Common Settings 116 Company Information 560 Compare Files 107 Compare Files (contents) 280 Compare Options Attributes Settings 259 Compare Options Date and Time Settings 257 Compare Options Security Settings 260 563 SyncBackPro Help Compare Options Settings 254, 256 Comparing Programs in SyncBackPro 107 Comparison Programs 107 CompleteFTP (Folder-tree file) 190 Compressed Settings 170 Compression (NTFS) 170 Compression Encryption Settings 168 Compression error: There is not enough free memory to process the file. 165 Compression filter 170 Compression Settings 165 Concurrent download (FTP) 190 Configuring Easy Mode 124 Connection Problems with SyncBack Touch 509 Constants 427 Container 161 Container names 196 Container naming rules 196 Content-Disposition 207 Content-Type 207 Convert VBS (VBScript) scripts 441 -copy 448 Copy and Delete Advanced Settings 239 Copy and Delete Settings 232, 237 Copy Delete Versioning 245 Copy only differences 250 Copy settings 126 Corrupted Zip 169 -countdown 448 -countdownmsg 448 Create a VHD file 161 CreateRestorePoint.vbs 438 Creating a Group Profile 69 Creating a Profile 55 Creating a Schedule 78 Creating your first Profile 37 Cross-platform file server 216 Custom install 513 - D - DACL 260 Dark Mode 86 Data collection 532 Date and time variables Daylight Savings Time Debug Logs 444 Debug Mode 86 463 257 -debugoff 448 -debugon 448 Decisions - Files 178 Decisions, Folders Settings 182 Decrypt NTFS files 171 DecryptCopy.vbs 438 Decryption (NTFS) 171 Deep Archive (Storage Class) 207 Defaults 126 -delete 448 Delete files in parallel 239 Delete unticked folders 129 Deleting files warnings 244 Delta (cloud) 207 Delta Versioning 250 Delta-copy 250 Delta-copy (over the network) 216 desktop.ini 237 -dest 448 Detect changes 226 Dialogs in SyncBackPro 106 Differences 280 Differences Window 46 Differences Windows 254 Differential 137 DiffExport.vbs 438 Direct ordering and download 9 Directories 237 -disable 448 DISCOVER - pay using 9 Discretionary Access Control List 260 diskpart 161 Distributing SyncBackPro 519 Distribution 519 DLL functions 312 Do not prompt me again 106 Do not store password 78 -donotexit 448 Download Scripts 296 Download Threads 207 DreamObjects 196 Dropbox Business 196 Dropbox Delta 207 Dropbox notifications 207 Dropbox V1 (legacy) 512 Dropbox: upgrading to new cloud API 196 DST 257 Dunkel 196 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Durable Reduced Availability 196 - E - Easy 126 Easy Mode 122 Easy Mode Configuration 124 Egnyte Performance 196 Eject Media 272 Email Fast Backup 137 Email Log Proxy 269 Email Log Settings 264 Email Log Settings (Advanced) 267 Email variables 463 EML file date and time wrong 213 Empty folder and the cloud 196 Empty folder on FTP server 190 Emulate S3 196 -enable 448 Encrypt filenames 168 EncryptCopy.vbs 438 Encryption 168 Encryption (AES) 168 Entering Serial Number 34 Evaluating SyncBackPro 19 Evaluation Mode 34 Evaluation screen 19 Event Log 95 -eventlog 448 Example scripts 438 Exchange 213 Exit Codes 448 Expert 126 Expert Mode Configuration 152 Explaining Backup for the new user 25 Explaining Synchronizing for the new user 28 Explorer Shell Extension 111 Exploring SyncBackPro 120 -export 448 Export file and folder selections 129 Export Scripts 296 Exporting Profiles 54 Expression Filters 494 Extended attributes 232 Extending SyncBackPro 296 External IP address 195 ExtraInfo.vbs 438 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Index 564 - F - Factory settings 126 Failed to rename to... 182 Fast Backup 137 Fast Backup of email 137 Fast Backup versioning 245 Feature tracking 532 File and folder selections when restoring 504 File Collision Window 289 File Collisions 289 File Differences 280 File integrity 253 File Permissions (FTP) 186 File Size 256 File Versioning 245 File Versions 245 Filename Encryption 168 Filter Settings 456 Filter Versions 245 Firewall 195 First Run 46 First Steps 34 First time user 37 Folders 237 Folders Settings 182 Folder-tree file (CompleteFTP) 190 Format of text log file 109 Frequently Asked Questions 8 FTP alternative 508 FTP and Zip backup 137 FTP Firewall Settings 195 FTP Passive 195 FTP Port 190 FTP port range 195 FTP Proxy 194 FTP scanning (threaded) 190 FTP Settings 186 FTPS 190 -full 448 Full backup 137 - G - GDrive file versions 245 General Terms and Conditions 523 565 SyncBackPro Help Giropay - pay using 9 Glacier 196 Glacier (Storage Class) 207 Glacier retrieval tier 207 Global Options 95 Global Settings 95, 116 Glossary 535 Good data procedures 23 Google Drive Delta 207 Google Drive file versions 245 Google Photos 163 Google Storage 196 Google Team Drive 196 Group (file) 260 Group Profiles 69 Group Profiles: Background Settings 69 Guide 8 Guide for new users 21 Guide to Intelligent Synchronization 171 - H - Hash files 250 Help 8 Help and information 8 Help for particular controls 51 Help on SyncBackPro 8 Helpful Internet links 8 Hibernate 95 -hibernate 448 Hidden files (ignore) 259 Hide Column 93 History 157 Horizontal Lines 86 HOST command 190 Hot key 225 Hot-Tracking 86 How do I 8 Get support for SyncBackPro 8 Print the online documentation 8 Start 19 How to buy SyncBackPro and SyncBackSE 9 How to convert VBS (VBScript) scripts 441 How to create a VHD file 161 - I - -i 448 iDEAL - pay using 9 Idle time (changes) 226 Idle time (periodically) 229 Ignore files (not) changed after a date 257 Ignore files (not) changed between two dates 257 Ignore new files or folders 129 Impersonation 216 Import file and folder selections 129 Import Profiles 448 Import Scripts 296, 448 Importing Profiles 54, 55 -importprofile 448 -importscript 448 Include new files or folders 129 Incremental 137 IncVar.vbs 438 Insert 228 Insert Media 272 Install parameters 513 Installing Scripts 296 Installing SyncBack Touch 216 Installing SyncBackPro 513 -integcheck 448 Integrity of backup files 253 Intelligent Synchronization 171 Internet connection 243 Internet unavailable 243 Introducing Easy Mode 122 Introduction 3 Invalid Handle (6) 232 Invalid Windows filenames 186 IPV6 186 Italics (profile name) 119 - J - JCB - pay using 9 Join the SyncBackPro community 8 - K - Knowledge Base and FAQ 8 Knowledge Base Search 8 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. - L - Label destination 127 Label source 127 Language 86 Languages 531 Last Access date and time 257 Legal Information 518 Limit Time 230 Linux 508 Linux server cannot detect changes 226 LIST 190 Load Media 272 Location meta-data (Google Photos) 163 Location Scripts 327 Locked file (warning instead) 261 Locked File Copying 462 -log 448 Log Email Settings 264 Log file sections 261 Log Off Windows 225 Log Settings 109, 261 Login and Logout 225 -logoff 448 Lost Serial Number 34 LZMA 165 - M - -m 448 macOS file server 216 Main Interface Scripts 318 Main Program Window 52 Making your first backup 37 Management Service Settings 505 MasterCard - pay using 9 MDTM 186 Memory usage 95 MFMT 186 Microsoft Azure 196 Microsoft Exchange 213 MIME type 207 Minimize on run 86 Minimize to tray 86 Mirror 30 Mirroring 30 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Index 566 Miscellaneous Media Settings 272 Miscellaneous Settings 271 Missing file (warning instead) 261 Mobile phones 160 MODE Z 190 -monoff 448 MTP 160 Multiple File Transfer 207 Multi-threaded FTP scanning 190 - N - -n 448 NAS drive cannot detect changes 226 Nearline 196 Network delta-copy 216 Network Settings 135 Network unavailable 243 New Features 14 New User Guide 21 New Version 95 No Internet 243 No network 243 -nochanges 448 -nofilter 448 Non-empty files will not be overwritten by empty files 256 -noprofbackup 448 -noselect 448 -nosplash 448 Notes on profiles 278 Notification Area 46 Notifications 150 Novell 232 NTFS Compression Settings 170 NTFS decryption 171 NTFS encrypted files (ignore) 259 NTFS junction points (reparse points) (ignore) 259 NTFS security 260 NTFS sparse files 239 - O - Object tagging (cloud) 212 Office 365 196 Offline (SBM Service) 505 Offline files (ignore) 259 567 SyncBackPro Help Off-screen window 448 OncePerDay.vbs 438 OneDrive 196 OneDrive Delta 207 OneDrive file versions 245 OneDrive for Business 196 OneDrive placeholder files 254 OneDrive V1 (legacy) 512 OneDrive: upgrading to new cloud API 196 OneNote files 196 Online support resources 8 OnlyYesterday.vbs 438 Open File Copying 462 Options 86, 95 Options: Fast Backup 137 Orange cross on tray icon 95 OSX file server 216 Owner (file) 260 - P - -p 448 Parallel Compression 169 Parallel file deletion 239 Parallel File Transfer 207 Pascal script language 299 Passive FTP connection 195 -password 448 Password protect a profile 271 Patch files 250 -pause 448 Payment processor 9 PayPal - pay using 9 pCloud 196 PDF Manual 8 Performance 157 Periodically 229 Perpetual License 9 Phones 160 Photos 163 PKWare SecureZip 168 Placeholder files 254 Plug-ins 296 Port range for FTP 195 -posreset 448 Preferences Main Menu 86 Previous versions of Windows 558 Printable Manual 8 Priority 271 -priority 448 Privacy Statement 522 Private key 186 Problems with Serial Numbers 34 -procpriority 448 -profbackup 448 Profile Configuration Scripts 323 Profile History 157 Profile name in italics 119 Profile notes 278 Profile queue 115 Profile run on change 226 Profile Setup 149 Profile Type 148 Profile Types 55 Profile: First Run 46 Profiles 55 Profiles backup 95 Program Arguments 448 Program Options 86, 95 Program Settings 95 Programs After Settings 275 Programs Before Settings 273 Programs exiting 231 Programs starting 231 Progress Bar 119 Protect a profile 271 Proxy (Cloud) 212 Proxy for cloud 196 Proxy for email backups 216 Proxy for emailing log 269 Proxy for FTP 194 Purchase SyncBackPro and SyncBackSE 9 Purge cloud file versions 245 Pushover 269 - Q - Question marks 165 Queue 115 Quick Start 19 - R - -r 448 Ransomware Detection 95 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Index 568 Ransomware Detection (on SyncBack Touch device) 216 Ransomware Detection (Profile) 278 Read-only files (do not delete) 259 Read-only files (do not replace) 259 Read-only files (ignore) 259 -reboot 448 -rebootforce 448 -rebootifreq 448 Red Calendar Image 95 Red cross on tray icon 95 Reduce memory usage 95 Reduced rate storage 207 Reduced redundancy storage 207 Register COM/DLL 95 Registry 463 Remote Backup Agent 508 Remote Control 95, 511 Remote Management 505 Reparse point (junction) files (ignore) 259 Rescan 137 Reset window position and size 448 Restart Windows 225 Restore 31, 74 Restore Versions 245 Restoring a Backup 74 Restoring and file and folder selections 504 Restoring data 31 -restricted 448 Result notification via cloud 269 -resume 448 Resume broken transfers 243 Resume from sleep or hibernation 95 Retrieve Serial Number 34 Return Values 448 Right-Click Menu 52 Rollback 280 Run (No changes allowed) 91 Run (Unattended) 91 Run After 275 Run Before 273 Run Group Profile 69 Run History 157 Run profile in the background 229 Run queue 115 Running A Profile 66 Running SyncBackPro 32 RunTheProfile:Thread Error: Invalid Handle (6) 232 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Runtime Help 280 Runtime Intelligence 532 Runtime Scripts 345 - S - -s 448 S.M.A.R.T. 261 S3 196 S3 emulation 196 S3for.Me 196 SACL 260 Safe copies and performance 239 Save as defaults 126 Say 271 SBHistory object 421 SBLocation object 365 SBM Console 505 SBM Service 505 -sbmssync 448 SBProfile object 369 SBRunning object 375 SBSystem object 401 SBVariables object 416 Scanning Threads 207 Schedule 78 Scheduling and Background Tasks 32 Script base 316 Script classes 437 Script constants 427 Script Editor 296 Script examples 438 Script functions 436 Script Types 296 Scripting 136 Scripting Reference 296 Scripting: calling DLL functions 312 Scripting: system library 314 Scripts 136 SD Card (Android) 463 Search 8 Search Knowledge Base 8 Search Settings 151 Searchable Help File Index 8 Searching Settings 151 Sections of the log file 261 SecureZip 168 SendResultViaSMS.vbs 438 569 SyncBackPro Help Serially run profiles 115 Server-Side Encryption (S3) 207 Server-Side Encryption (SSE-C) 207 -settings 448 Settings cannot be used 502 Settings folder 95 Settings folder (command line parameter) 448 Settings folder (during install) 513 Settings in SyncBackPro 95 SFTP 190 SFTP host identity key 190 SFTP Keys 186 SFTP public key 190 Share cloud accounts 113 Shared Settings 116 SharePoint 196 Sharepoint file versions 245 SharePoint Library 196 Shell extension 111 Show Column 93 -shutdown 448 Shutdown after profiles have finished 86 Shutdown computer after profiles run 78 Shutdown Windows 225 -shutdownforce 448 -shutdownhybrid 448 -silent 448 Silent install 513 Simple History 157 Simple Performance 157 Simple Settings 127 Simulated Restore 74 Site Path (SharePoint) 196 SITE UTIME 186 Skip Differences Windows 254 SkyDrive 196 SkyDrive placeholder files 254 Sleep 95 Smart phones 160 SMS 438 Snapshot 242 Sofort - pay using 9 Software Upgrade 12 -source 448 Source and Destination 23 Sparse files 232, 239 Speak 271 Speech 272 Split Zip 169 SSE-C 207 -standby 448 Start group when SyncBack Touch device available 232 Start using SyncBackPro 19 Storage Class (S3) 207 StripZeros.vbs 438 Style 86 Sub-directories and Files 129 Subscription 12 SugarSync 196 Support 444 Supporting Windows Versions 558 Switch off Dropbox notifications 207 SyncBack Monitor 95 SyncBack Monitor - Introduction 511 SyncBack Touch - Connection Problems 509 SyncBack Touch - Introduction 508 SyncBack Touch Security 216 Synchronize 28 Synchronize scenarios 28 SysLog settings 95 System Access Control List 260 System files (ignore) 259 System Library (scripting) 314 System Requirements 558 System Restore 438 System Tray 46 - T - Tagging (cloud) 212 Talking 272 Taskbar corner 46 TCP port 8080 216 Team Drive (Google Drive) 196 Teams Root Folder (Dropbox) 196 Technical Reference 294 Technical Support Wizard 444 Tell me about SyncBackPro 3 Temporary files (ignore) 259 Text log file format 109 The cloud service forces file versioning 245 The Differences Window 280 The File Collision Window 289 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. Index 570 The file desktop.ini is on the ignored file list, so it was UTF8 169, 190 not saved. 196 The FTP server does not support hashing 232 The Main Window 52 - V - The profile "profile name" contains settings that cannot be used with this version of SyncBackPro 502 The profile "profile name" is from a newer version of SyncBackPro. It is unlikely that the profile will function correctly. 502 The Profile Setup Screen 149 Thread Error: Invalid Handle (6) 232 Threads (downloading and uploading) 207 Threads (scanning) 207 Throttle cloud bandwidth 207 Variables (built-in) 463 Variables (global) 95 Variables (user-defined) 277 VBScript compatibility 441 VBScript functions 441 Verify 232 Verifying backup files 253 versioning 245, 247 Versions 245 Throttle FTP bandwidth 190 thumbs.db 237 Time Limit 230 Time scheduling SyncBackPro 78 Too many changed files 244 Trademarks 518 Transfer acceleration (S3) 207 Translators names 531 Tray Icon 95 Trouble Shooter 8 TrueCrypt 254 Vertical Lines 86 -vgn 448 VHD 161 Videos 163 Virtual Drive 161 Virtual host 190 VISA - pay using 9 Vista 558 Visually Compare Files 107 Volume Shadow Copy service 242 VSS 242 Tutorials 8 Twitter 438 - W - - U - UDP port 24671 216 Uninstalling SyncBackPro 516 UnionPay - pay using 9 UNIX filenames 186 Unload Media 272 Update Check 95 Upgrade Assurance 12 Upgrade to SyncBackPro 9 Upgrading 12 Upgrading to a new major version 36 Upload Profile to SBM Service 505 Upload Threads 207 Use container 161 User-defined notes 278 User-defined variables 277 Using FTP 186 Using SyncBackPro 51 Using SyncBackPro for the first time 46 WaitForFinish.vbs 438 Wake the computer to run this task 78 Warning when deleting files 244 Warning when too many changed files 244 WAV, play 272 Web hooks 270 WebMoney - pay using 9 Welcome 3 What about backup to a single Zip file on an FTP server? 137 What about FTP and Fast Backups? 137 What if a files contents are the same but not the files attributes? 171 What if a files contents are the same but not the last modification date & time? 171 What is a Profile? 37 What is delta-copy 250 What is Intelligent Synchronization? 28 what is versioning 247 What side effects are there with using Fast Backups? 137 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. 571 SyncBackPro Help What's New 14 When - The Profile Setup Screen 149 When, Changes 226 When, Hot key 225 When, Insert 228 When, Login and Logout 225 When, Periodically 229 When, Programs 231 When, Time Limit 230 Window off-screen 448 Windows 558 Windows 10 558 Windows 2003 558 Windows 2008 558 Windows 2008 R2 558 Windows 7 558 Windows 8 558 Windows 8.1 558 Windows Event Log 95 Windows Explorer 111 Windows file cache 239 Windows file server 216 Windows Notifications 150 Windows Shell Extension 111 Windows Subsystem for Linux (WSL) 259 Windows Vista 558 Windows XP 558 -winpassword 448 WmiPrvSE.exe high CPU usage 231 - X - XML Compression 165 - Z - Zip 165 Zip filter 170 Zip64 165 © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved. SyncBackPro V10 PDF User Guide © 2003 - 2021 2BrightSparks Pte Ltd. All Rights Reserved.Help Manual by EC Software GmbH