Make backups one way

I want to use seafile as a backup onto a spare laptop. For this to work, any accidental changes or deletions held on my server should not be synced back to my main computer. Is it possible to make it work as a backup regime rather than a sync?

Hi,

just a suggestion:

Use the SeaDrive client and rsnapshot (Linux, GitHub - rsnapshot/rsnapshot: a tool for backing up your data using rsync (if you want to get help, use https://lists.sourceforge.net/lists/listinfo/rsnapshot-discuss)) or HardlinkBackup (Windows, GitHub - linuzer/HardlinkBackup: Simple, but robust rotating file Backup using NTFS-Hardlinks) to actually sync the files to the laptop. Both programs will make periodically snapshots of all available files and using hardlinks, so no unnecessary storage space is used.

Here an excerpt of my rsnapshot configuration:

snapshot_root /data/rsnapshot/
backup /var/www/
retain hourly 6
retain daily 7
retain weekly 4
retain monthly 3

snapshot_root will point to the directory provided by the SeaDrive client and backup to a local directory on your laptop.

Deleted files will only be deleted in the latest snapshot and will stay accessible in older ones. If you adjust the number of daily snapshots you will get a quite reliable backup.

If you installed Linux on your laptop it alternatively might be worth to have a look at burp (http://burp.grke.org/).

Best regards

Thomas

Thanks. I do actually have a backup solution using other software - I use freefilesync & realtimesync to back up selected windows folders to an old/spare linux machine. Freefilesync allows you to choose between 1-way mirror, 2-way sync etc and I was just wondering if I can achieve the same simple backup with seafile as well as the useful features such as user accounts and browser based access etc

Well there is hardly a need for one way sync, cause seafile has file history. So you can revert to any point it time, much better than simple one-way sync programs, which make a mess with gazilion of doubled data.

Also Seafile is a LOT more complicated than simple one or two way sync programs(server/client arhitecture). So totaly different league than those sync programs. Meaning it can be better or worse, depending on your needs.

Sounds like a perfect setup to me! I’d prefer the files in my backup to be easily accessible (opposed Rsyncing the Seafile data directory) and maintain file history independent from Seafile just to be safe. But doesn’t this setup require the entire Seafile library to be synced via the SeaDrive client on each snapshot?

Remote server runs Seafile.
Local backup computer runs SeaDrive and rsnapshot.

Rsnapshot interfaces with SeaDrive locally but in order to know if a file has changed, SeaDrive would have to completely pull it from the remote sever. Right?

I store 1 TB of data in Seafile so it’s impossible to sync this every time a snapshot has to be made.
Or am I missing something?

Obviously SeaDrive has cache but it’s not feasible to cache the entire Seafile library either. That would mean I need triple the storage. 1 TB (size of the library) + 1TB for the cache + 1TB for older snapshots. Instead I was planning on using just 1TB for the library + 1TB for older snapshots.

Hi,

without knowing the structure of the data you want to sync and backup, i.e. change frequency and scale, number of files, it’s hard to make any reliable suggestions, but if you need a highly reliable solution for 1 TByte I would use the Seafile client and two local hard drives; the Seafile client should sync the data to the first drive and rsyncbackup will use the second one for it’s purpose. And yes, this would triple the storage you need (1 x server + 2 x local).

If you use a file system like NTFS, BTRFS or ZFS it should be possible to use their internal snapshot feature to reduce the necessary storage to one local copy (plus the differences between the snapshots).

Best regards

Thomas

Thanks for replying! I’m not really looking forward to buying even more HDDs. Am I right in assuming that the setup you mentioned (Rsnapshot with SeaDrive) needs to transfer the entire library over the network on each snapshot? I’m currently trying to set this up but I can quit this effort if you already know the answer.

I thought about the Seafile client but there’s one issue for me. If I add a new library to Seafile, then I’d have to tell this library to sync on the backup machine too. This means I frequently need to manage stuff on the backup machine (and it’s possible to forget and procrastinate). Which isn’t what I want.

ZFS means I’d have to invest in ECC RAM and BTRFS I have no experience with… But that’s probably worth looking into.

Hi,

to answer your concerns about transferring the entire library mulktiple times: The Seafile client and rsnapshot have to copy/sync the entire library once, followed by only the differences.

Regarding the setup of rsnapshot, if you use

./Seafile

instead of

./Seafile/A_LIBRARY

as the source directory, any library you sync will automatically be handled by rsnapshot without manually modifying the configuration. Just make sure, that you exclude

/.Seafile/.seafile-data

Best regards

Thomas

Hi Thomas.

I know the Seafile sync client will only transfer the differences after the first sync.

I’d just like to ‘set and forget’ about the backup of my Seafile server. So each time a new library is created, it won’t be backed up by rsnapshot until I manually enable syncing the new library in the Seafile sync client on the backup server.

But didn’t you suggest using the SeaDrive client together with rsnapshot? I thought the SeaDrive client was a good idea, because it will allow rsnapshot access to all libraries. Also newly created ones. But that would need to transfer the entire library on each snapshot, right?

Hi,

the SeaDrive client will be a good choice as long as the libraries you want to access with rsnapshot are smaller as the cache size of the client.

What you really need is a tape library storage backend on your Seafile server. :slight_smile:

Best regards

Thomas