jdrch

Members
  • Posts

    198
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by jdrch

  1. Sync works just fine for me on 4 Android clients (Google Android, Samsung One UI, and LineageOS.)

    On Android: Ensure Sync has folder read and write permissions for the synced folder, especially if that folder is on a microSD card. Without that, syncing will fail.

    The foolproof way to deploy Sync (assuming you're a Pro user with an identity already set up) is this:

    1. Select a source folder. The folder may be empty or may have files in it. If it has files in it, wait for Sync to finish hashing them before adding any peers
    2. Add peers for that folder. Although official Support says destination folders don't have to be empty initially, in my experience it's best that they are empty
    3. Choose the sync type you want (Selective On or Off)
    4. Wait again for the initial sync to complete (especially if Selective Sync is off)

    Once the above is done, you can add files to or remove files from the synced folder on any peer and the changes will show up on all peers (as fast as their respective network connections allow the changes to be transferred.)

  2. UPDATE

    To be clear, I do not have any information about point 3 of the following specific to Resilio Sync.

    Several things:

    1. Most of Resilio's staff are in Belarus
    2. To put it mildly without getting political, Belarus has been experiencing significant political upheaval recently
    3. Minsk's startup hub was just shut down by the government

    So it doesn't seem to be very pleasant times for tech in Belarus, not mention the global pandemic is still a thing. My guess is, not only is the political situation not ideal, the government is probably also closely monitoring and or restricting the population's internet use and access. This, in turn, would affect the ability of staff to develop the product, respond to bugs, and participate on forums.

    ____

    The apparent lull in activity has happened before. The project wasn't dead then and it certainly isn't now. If you reply to that thread (the longest of its kind on this forum) you may get some attention since devs are on it.

    I disagree strongly about Syncthing, at least for the platforms I use and my workflow. For example, Syncthing for Android still can't write to microSD cards (something Resilio Sync has been able to do from day 1) in 2021. My Note9 has a 400 GB microSD card I sync data to and from, so that's a critical feature to me.

    As a heavy Resilio Sync user (it's the backbone for my workflow) across Android (arm64), Windows 10 (amd64), Ubuntu (amd64), Debian (amd64), Raspberry Pi OS (arm64), and FreeBSD (amd64) (11 devices total), I'm not aware of any bugs at all. Follow the extensive documentation and/or search the forum and you should be fine. The most common difficulty I see is people trying to sync multiple large folders with different content. The best way to do that is put all the content you want in one folder and sync to an empty target, as well as ensure any new folder used to connect to an existing folder be empty upon initial connection.

    But by all means use what works best for you. If that's Syncthing, then use Syncthing.

  3. Yes it is. The Home Pro product has been feature complete/stable for a while now and so mostly sees bugfixes in response to host OS changes. Understandably, these are much less frequent than new feature drops.

    Speaking as a longtime Home Pro user (since 2014).

    I would not suggest paying for a license unless doing so gives you a feature you need and the free version doesn't have. The reason I say this is the exact reason you posted: license fees are best thought of as covering features, not development. Ergo, paying for the latter might set up you with false expectations of frequent releases or platform/ISA support.

    Quote

    there doesn't seem to be any appetite for doing so,

    This topic has come up in the past; although there has been no official word on it, my take is that benchmarks show x86-64 apps running at native speed on M1 Macs. Unless you use 10 Gb/s or faster networking or some super high performance Thunderbolt storage array I doubt you'll see any performance difference.

    FWIW there's no Windows Arm64 build either; and WoA machines have been around for much longer than M1 Macs have.

    _____

    Side note: Don't get anxious about the development status of a product that has seen a version release within the past year. There are many excellent paid storage software related products that probably get 1 or 2 releases (or fewer) per year, e.g. DrivePool, Don't be alarmed because something hasn't been updated within the past month. The only time you should worry is if the dev's compatibility docs/system requirements don't mention/include the latest major release of the OS you're running on OR if there a bunch of critical open bugs. For example, an app that lists Windows 7, 8 (no mention of Windows 10) would not be one I would use.

  4. CAVEAT: The solution below assumes you don't want to run Resilio Sync under the rslsync user profile. I suppose it can be modified for those who do want that, but I don't currently have any instructions to that effect. Since running under rslsync is Resilio Sync's default behavior, I believe simply following the official setup documentation will get you there.

    This fix worked on a fully patched and updated Debian Buster system on the calendar week of this post's writing.

    If Sync is loading with no profile:

    1) Shut down (not restart) the computer

    2) Start the computer.

    3) On boot, check that the Sync instance with the existing profile has loaded. Load the web interface and note which port it's running on (the "nnnn" after the ":" in the browser address bar. The value is usually 8888) If it has, proceed:

    4) Run the following:

    $ ps aux | grep rslsync | grep -v grep

    This should give you a list of rslync (Resilio Sync) processes currently running:

    $ ps aux | grep rslsync | grep -v grep
    YourUsername     1213  2.4  1.8 1554204 305756 ?      Ssl  09:13   0:24 /usr/bin/rslsync --config /home/YourUsername/.config/resilio-sync/config.json
    rslsync  17678  0.0  0.1 972796 29900 ?        Ssl  09:30   0:00 /usr/bin/rslsync --config /etc/resilio-sync/config.json

    Now you know there are 2 rslsync processes running: one under YourUsername, and the other under rslsync. But which one has the existing profile (read: is driving the web interface)? The next step answers that.

    5) Run the following command to list all processes using the port 8888 (the port the correct Sync profile from Step 3 is using):

    # lsof -i :8888

    This should give you an output with a single entry:

    COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    rslsync 1213 YourUsername 50u  IPv4  36915      0t0  TCP localhost:8888 (LISTEN)

    The instructions from here on assume the output of the above under the USER column is YourUsername. If it's something else, a modified approach not covered here may be necessary.

    Now that we know the correct profile is running on YourUsername, it's time to figure out which profile or user the Resilio Sync service is using:

    6) Stop the Resilio Sync service:

    # systemctl stop resilio-sync

    This will kill 1 of the rslsync processes from Step 4

    7) Repeat Step 4:

    $ ps aux | grep rslsync | grep -v grep
    YourUsername     1213  1.8  1.8 1636556 309544 ?      Ssl  09:13   0:47 /usr/bin/rslsync --config /home/YourUsername/.config/resilio-sync/config.json

    As you can see, the Resilio Sync process under the rslsync user was killed in Step 6. This means it's the Resilio Sync service is running under rslsync, which is undesirable for our purposes.

    8 ) To confirm the previous step's finding, start the Resilio Sync service:

    # systemctl start resilio-sync

    9) Repeat Step 4:

    $ ps aux | grep rslsync | grep -v grep
    YourUsername     1213  1.8  1.8 1636556 309544 ?      Ssl  09:13   0:47 /usr/bin/rslsync --config /home/YourUsername/.config/resilio-sync/config.json
    rslsync  14130  7.0  0.1 890604 20108 ?        Ssl  09:57   0:00 /usr/bin/rslsync --config /etc/resilio-sync/config.json

    The rslsync Resilio Sync process has reappeared upon starting the Resilio Sync service, which means the service is currently running under rslsync. We want to both switch the service to run under YourUsername AND ensure Resilio Sync processes don't automatically launch under rslsync.

    10) Repeat Step 6

    11) Disable the Resilio Sync service:

    # systemctl disable resilio-sync
    Synchronizing state of resilio-sync.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install disable resilio-sync
    Removed /etc/systemd/system/multi-user.target.wants/resilio-sync.service.

    Of note is the "multi-user.target.wants" in the above. It confirms that Resilio Sync is current configured to run under multiple users, which is not what we want.

    12) Repeat Step 4:

    $ ps aux | grep rslsync | grep -v grep
    YourUsername     1213  1.8  1.8 1636556 309544 ?      Ssl  09:13   0:47 /usr/bin/rslsync --config /home/YourUsername/.config/resilio-sync/config.json

    As you can see, stopping and disabling the service did not kill the Resilio Sync process running under YourUsername (anyone want to explain why? I'm not sure myself. If the process under YourUsername isn't controlled by the Resilio Sync service, how is it starting automatically at boot?)

    13) Follow the official setup documentation on editing the corresponding systemd file so that the Resilio Sync service uses YourUsername only:

    Quote

     

    If you want to run Sync under your current user - edit file /usr/lib/systemd/user/resilio-sync.service and change "WantedBy=multi-user.target" to "WantedBy=default.target". Save this file and then enable the service with --user parameter:

    
    
    $ systemctl --user enable resilio-sync

    Do not run the last command as root or using sudo, as it is intended for your account, not root, and so will throw an error message, such as:

    Failed to connect to bus: No such file or directory

    On some distros, such as openSUSE, you will also need to run the following command to explicitly start Resilio Sync under your username:

    $ systemctl --user start resilio-sync

    14) Repeat Step 4:

    $ ps aux | grep rslsync | grep -v grep
    YourUsername     1213  1.8  1.8 1636556 309544 ?      Ssl  09:13   0:47 /usr/bin/rslsync --config /home/YourUsername/.config/resilio-sync/config.json

    Resilio Sync is now running as intended under YourUsername only.

    I believe this should persist across reboots, shutdowns, and kernel updates. Thanks Alex Witz from Support for the commands and ideas.

  5. 2 minutes ago, Dima Nirox said:

    Yes I did it :) I reinstalled my old server and now it runs Proxmox and it already runs Ubuntu 20.04.1 and FreeBSD 12.2

    Surprisingly, the network speed test shows a big difference. FreeBSD does not hang 500-600mb/s at the same time in Ubuntu the speed is not lower than 800-900mb/s all this on one server, in one data center :) but I'm still working on it.

    Are you using Intel, Mellanox, or Chelsio NIC(s)? FreeBSD frequently has trouble with NICs that aren't 1 of those 3. My FreeBSD has a Realtek NIC and the wired connection crashes every now and then.

  6. 1 hour ago, Dima Nirox said:

    All fine. You've already helped me. 
     

    For me, it is more an experiment to understand from personal experience whether FreeBSD is really so "good and reliable" for my purposes. So far, I doubt it very much. The documentation does not correspond to reality, most of the applications that I use in Linux are just  not available for FreeBSD, there is no virtualization as a guest system (qemu agent is absent in nature, not counting the ported version with limited functionality). Something tells me that I will play with this system for a while and go back to Linux, because everything just works there. And I do not want to start swearing about Linux vs FreeBSD, but to study the problem for more than two weeks.... It's not even funny :)

    Fair. The only reason I run FreeBSD is so I can accurately comment on all major OS families (except macOS, which I'm planning to add sometime this year) from firsthand experience. OSes are a hobby of mine. However, I ran into the same frustrations you are with FreeBSD, to the point of making a list of reasons why I might stop running it in the future.

    As for stability, I also run Debian and in my experience its the most stable useful OS I have on hand (the others being 3 release channels of Windows, Raspberry Pi OS, FreeBSD, OpenIndiana, Ubuntu, and Android.) I emphasize "useful" because OpenIndiana is also stable but the documentation, hardware support, and package support are so bad it's really not worth using for something serious unless you're migrating from Solaris and don't want to learn anything new. OI also doesn't support UEFI boot. In 2020. Yikes.

    As for virtualization, are you saying running FreeBSD as a VM is difficult, or that it's difficult to run VMs on FreeBSD? AFAIK bhyve is the preferred solution for the latter, and I've seen folks achieve the former using Proxmox. However, I have no personal experience with either solution.

    If I were in your shoes, I'd pick whichever OS works best for what you want and just run the other on used/less important hardware. That way you can keep up with developments without having to dogfood them. But that's just me. Cheers :)

  7. 8 hours ago, Dima Nirox said:

    yes, the problem is in autostart of the service on load like user, not root. I added this and other strings (options for running the script) to the user crontab and system, even tried options with sudo username but the service does not start at system startup.

    We may just be arguing semantics here, but technically I don't think my implementation is a service in the FreeBSD sense of the word. It's a background process that starts at reboot explicitly from a crontab entry. A true service is managed by FreeBSD init, which quite honestly I've spent years trying to understand - at least for apps like Resilio Sync that are delivered as FreeBSD binaries and not packages - to no avail.

    The other problem with setting up the binary as a service is - IMO - it makes updating it a much bigger PITA, because now you have to tangle with manually stopping and starting the service instead of just killing and then launching the process.*

    I have no actual idea how to set up a FreeBSD service from scratch using only a binary; I've never been able to find any documentation that explains it fully and the FreeBSD Handbook is almost incomprehensible on the topic. Ironically, I got my method from the Handbook itself, which admits that it's easier in most cases to use crontab to get something to start at boot without user interaction. If you're able to figure it out, please by all means share it with me and I'll add it to my writeup.

    IIRC one thing you'll want to look into is your user rc.d directory. I do believe that's where services that run under users live, but I'm not 100% sure. You can also ask at r/freebsd, r/bsd, or the FreeBSD forums.

    Sorry I'm not able to be of further assistance!

    *Soapbox: This is why I laugh when folks complain about systemd on Linux. Systemd is the greatest thing to happen to Linux ever, because it makes service management much less of a barely comprehensible CF as it is with init (as you're experiencing now). Services.msc (Windows) is still the best service management system in existence, period. Click to stop, start, restart, disable, enable, set to manual or automatic, etc. all through a single UI.

  8. 16 hours ago, Dima Nirox said:

    Hello!

    I can't say that your instruction works for me, but I still have a question, how do I run resilio as a user at system startup? I've tried system crontab, user crontab and it's not working.

    Only placing the script with the command in /etc/rc.d / solves my problem, but running as root is not what I need. Thanks.

     

    P.S. I want to build a very reliable backup server for myself, because FreeBSD + is a new experience for me, it is still very different from Linux, at least in the examples of documentation of real cases. And yes, I am studying the handbook for the second day, but there are no examples that I need. More precisely they do not work in FreeBSD 12.2

     

    Which part of the guide are you having trouble with?

    And yeah I can empathize with the troubles getting Resilio to run as a service under FreeBSD, as I've always found init incredibly confusing.

    Does Step 6) here not do what you want?

  9. Look man, this a discussion forum about Resilio Sync, not a computing seminar. I said what people who want an Apple Silicon build should do. If you want one, do that. Arguing with me about what is and isn't native isn't going have any impact on what Resilio does, so I suggest you direct your effort towards what you want instead of trying to win an internet conversation.

  10. On Ubuntu and Debian systems, if you run a kernel update, autoremove the old kernel, and then reboot the machine, Sync will load a new user profile from scratch (asking to set up, etc.) The only way to avoid this is to shut down the system completely and then boot it up again. This is inconvenient and can be wildly confusing for new users who might not know why Sync doesn't appear to be starting.

    I wanna say this problem started around Ubuntu 19.x and I've just experienced it on Debian 10 (Buster) for the 1st time today. The new kernel I'm running in Debian is 4.19.0-13-amd64. I suspect the problem may be to a kernel-side change, but it would be nice if Sync could adapt accordingly. I filed an issue on Zendesk: #133488

  11. On 11/4/2020 at 1:58 PM, Cantello said:

    I would like to synchronise my home folder (not necessarily all of it, temp files and app settings will be excluded) but due to the known limitations, I cannot do this ("...it contains a folder that is already syncing..."). What other ways are there to synchronise most folders of my home folder? I cannot use the usual IgnoreList as I cannot even start to add the home folder. Even when I remove my pro licence (apparently one of the reasons the home folder cannot be synced), the same error occurs.

    Any ideas? The goal is to have the windows box send all files to an Ubuntu file server box where the contents of the synced folder will be backed up at night (the windows folder should be send only and the Ubuntu folder should be receive only).

    Sync individual folders within your home folder separately. That's what I do: my Documents, Downloads, Music, Video, & Pictures folders are synced across all my devices. Because each OS' home folder structure is different, I would not suggest syncing the entire home folder at once or - as you've discovered - you'll wind up syncing stuff you don't want to sync.

  12. Quote

    That's not what "natively" means.

    See Wikipedia for yourself:

    Quote

    Something running on a computer natively means that it is running without any external layer

    AFAIK iOS apps don't need external layer to run on Apple Silicon macOS.

    Quote

    As you state later

    I was referring to Rosetta 2 running x86-64 macOS apps on Apple Silicon macOS. I thought that was obvious, my bad.

    As for the rest of what I said, I run Sync on 11 devices ranging from a lowly Galaxy S5 to a 4C/8T desktop. I haven't noticed Sync run any faster on one than the other. All my changes sync instantly and since I'm always syncing the same folders, the only time a device syncs from scratch nowadays is when I 1st set it up.

    I've also been able to saturate my gigabit network connection using Sync.

    Clearly your setup is far more expensive than mine, all props to you.

  13. 55 minutes ago, FlatEarthisNotImpossible said:

      

    Jdrch,

    Sadly, it looks like my Windows 10 can't run Resilio Sync as a Windows Service. 

    When I installed Windows, I did something unusual and changed the User Folder into my personal name instead of the first 4 letters of my email.  I did this because I didn't want my User Folder to be labeled as "mich" (say my email is Michael42@gmail.com).  So, via the Registry I changed the User Folder to my name, Michael.  I guess Resilio Sync doesn't know how to handle this.  It won't accept my personal name as my username.  I tried tons of variations but it won't work.  The only thing it will accept is the original email.  But when I use my original email, it then creates a new User Folder called mich.

    Oh well.  I tried.  Maybe Resilio reads this thread some day and fixes this.

    Thanks for your help.  I appreciate it.

    Hmmm ... from my experience setting up Windows 10, if you use a Microsoft Account your username will be your 1st name. From there Windows will automatically name your user folder, etc. Windows generally expects your username and user folder name to be the same (so does every other desktop OS, actually), so if they aren't you'll have a nonstandard config and run into trouble.

    I don't really know how to fix that without reinstallation; try Microsoft Answers, r/Windows10, or r/techsupport.

  14. Quote

    But, does that matter?

    I've run Sync as a service since the feature was introduced. IMO the biggest advantage of running as a service are that Sync runs once the machine is on, regardless of whether you're logged on. If, like me, you have a bunch of machines you manage, then that means you don't have to manually log on to start Sync. Once the machine boots, Sync is running.

    Also, for some platforms - e.g. Linux and FreeBSD - the Web UI is the only GUI option available.

    Quote

    running it via Windows Service would be more efficient

    I don't have any recent comparison of this but sync typically uses 200 to 300 MB RAM on my machines anyway. Since the minimum installed RAM on my x86-64 machines is 16 GB, I don't really worry about that. Most of the CPU usage is due to hashing, which is independent of any UI.

    Quote

    is there a reason not to run Resilio Sync as a Windows Service

    The only situation in which you would not want to run Resilio Sync as a service that I can think of is when you have multiple Resilio Sync users on the same machine. Services are single instance, which means that they're tied to a single Resilio Sync identity/account. Obviously that won't work very well for separate Sync accounts.

  15. 48 minutes ago, nicopizza said:

    Do you mean that I could actually disable a setting inside Resilio Sync and the ".sync" hidden folder would be gone?

    If this is the case, where can I find this setting?

    Should I disable it both ways (in the Resilio Sync app in my PC and in the NAS)?

    Thanks!

    TL,DR: No, you can't disable the .sync folder's existence as that's where Resilio Sync stores synced folder metadata, but you can prevent Resilio Sync from putting any actual previous or deleted files in it (which is what is causing the problem you're having). You will have to make this change on every synced folder on each peer device you want the change to take effect on.

    1st let me explain what the .sync folder does. Besides metadata, it stores previous versions of synced files transparently so they can be recovered in case you accidentally delete or overwrite something. IIRC per the documentation, it also helps speed up syncs resulting from file renames or relocations within the synced folder.

    Now, all that said ... in the options for each folder in Reslio Sync UI folder list there is a Store deleted files in folder archive checkbox. If you uncheck that box, Resilio Sync will stop storing additional previous versions in the folder. To remove the existing previous versions, you'll still have to manually enter the .sync folder for each synced folder and delete the contents (since the files are stored transparently, you can use any file management tool you like) thereof.

    You will have to do this for each synced folder you want the .sync folder to be gone for on each peer device, as the .sync folder and the context of its contents are entirely local (i.e. although they live within synced folders, they themselves are not synced).

  16. 9 hours ago, luomat said:

     

    Be that as it may, I still hope the the app will be updated for actual M1 support rather than relying on Rosetta 2.

     

     

    The iOS build supports the M1 natively. The entire point of Rosetta 2 is the same as that of WOW back in the day and WOW64 today: to enable unmodified binaries compiled to target a different instruction set to run with no penalty on the host OS. From the M1 reviews I've read, Rosetta 2 handles this perfectly. From a performance perspective, you're not gonna gain a whole lot from a native build anyway because literally the toughest thing Sync does from a CPU perspective is hash files, which even the slowest current gen CPUs handle easily. The limiting factor in Resilio Sync workload performance will almost always be network speed, not CPU execution.

    But you don't have to take my word for it. Per AnandTech's M1 review (emphasis mine):

    Quote

    Generally, all of these results should be considered outstanding [...] [Rosetta 2] is [...] a full-fledged compatibility layer that when combined with the outstanding performance of the Apple M1, allows for very real and usable performance of the existing software application repertoire in Apple’s existing macOS ecosystem.

     

    9 hours ago, zendnez said:

    I'm not clear if you are representing Resilio on this or just sharing an opinion. Can you clarify, please?

    We don't yet have clear benchmarks regarding battery consumption of emulated apps vs native apps. On my machines, Resilio tends to use a consistent 0.7% CPU. That's not a huge amount and I'm not in a position to claim definitively that a native app will use less, but power management is certainly one of the reasons that apps will go native over time.

    In any case, I'd love to hear from the source.

    The only people who represent Resilio are the ones with Sync Support, Admin, etc. around their profile pic. Staff don't automatically respond to everything. Assuming you have a paid license, the best way to get their direct attention is to file a ticket. I'm speaking purely on the basis of having used Resilio Sync as the backbone of my own personal IT workflow since 2014.

    If you really want native code right now, use the iOS build, which AFAIK runs natively on the M1.

    As for future plans, from what I gather reading posts on here, Resilio Sync macOS (I don't own a Mac, but plan to get an Apple Silicon one as soon as it fits into my budget) support isn't exactly the strongest of the OSes it supports (that would be Linux & Windows, from my firsthand experience); mostly because some of the OS' design and restrictions hinder its intended functionality. Search the forum for "macOS" to see for yourself. Personally I've been waiting for an Illumos port forever. That said, Resilio Sync's combined OS and platform support is the widest of any competing solution and possibly the widest of any 3rd party application I've encountered. I count 15 builds per release at that last link. 16 if you include the iOS build that's not on that page.

    TL,DR: There's reason to be optimistic about a native build in the medium to long term, but I wouldn't expect one in the short term. If you want to speed up the process, file a ticket about the lack of an Apple Silicon build.