* Backing up directory to another location like: local, FTP(S), SFTP, HTTP(S), S3, Bir server and others
* Optionally you can set a password to protect your files (if a not trusted external location like FTP or S3 is used)
* Files are handled in a "Bir repository"
#### What is not supported
* Conflict resolution is not supported. (If you wish something not yet supported to be added, please, let's start a discussion here or at forum.nanoboot.org)
* "Bir" is not intended to be used by many read/write users.
* Several people changing one Bir repository must be avoided.
* "Bir" is not intended to be used by many read users and only one read/write user.
* One Bir repository can be used by more users, but only one user can change it.
{sha-512}::::{length in bytes}::::{sha-512}::::{length in bytes}::::{sha-512}::::{length in bytes}::::{sha-512}::::{length in bytes}::::{sha-512}::::{length in bytes}::::::::{bytes -base}{bytes-incremental}{bytes-incremental}{bytes-incremental}{bytes-incremental}{bytes-incremental}
Downloads remote .birindex – if does not exist, empty file will be returned.
Compares these indexes, uploads new blobs to object addressed system (SHA-512) – packaged to 7z archives (compression=ultra + other settings)
The most reliable way would be to make md5 hashes of all the local files you care about and store it in a file. So the file will contain a list of filenames and their md5 hashes. Store that file on your ftp server. When you want to update the files on your ftp server, download the file containing the list, compare that against all your local files, and upload the files that have changed (or are new). That way you don't have to worry about archive bits, modified date, or looking at file sizes, the use of which can never be 100% reliable.
Using file sizes isn't reliable for the obvious reason - a file could change but have the same size. I'm not a fan of using the archive bit or modified date because either of those could be confused if you backup or restore your local directory with another backup program.
bir remote add abc protocol://user:pw|{}@host:port/directory[::password=encryption_password|{}::duplicate_count=1::exclude=::include=::]
bir remote add wedos_disk_100gb_backup user:pw@host:port/directory::password=123::duplicate_count=2
bir remote add abc user:pw|{}@host:port/directory::password=encryption_password|{}::duplicate_count={1, 0 is default}::compression_level={0-9,5 is default}
```
{} placeholders means, that user will be asked in console (to avoid the password to be in console history)