rsync | open source utility that provides fast incremental file | Incremental Backup library

 by   WayneD C Version: v3.3.0pre1 License: Non-SPDX

kandi X-RAY | rsync Summary

kandi X-RAY | rsync Summary

rsync is a C library typically used in Backup Recovery, Incremental Backup applications. rsync has no bugs and it has medium support. However rsync has 8 vulnerabilities and it has a Non-SPDX License. You can download it from GitHub.

Rsync is a fast and extraordinarily versatile file copying tool for both remote and local files. Rsync uses a delta-transfer algorithm which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. At first glance this may seem impossible because the calculation of diffs between two files normally requires local access to both files. A technical report describing the rsync algorithm is included with this package.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              rsync has a medium active ecosystem.
              It has 1490 star(s) with 230 fork(s). There are 40 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 114 open issues and 204 have been closed. On average issues are closed in 74 days. There are 13 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of rsync is v3.3.0pre1

            kandi-Quality Quality

              rsync has 0 bugs and 0 code smells.

            kandi-Security Security

              OutlinedDot
              rsync has 8 vulnerability issues reported (1 critical, 4 high, 2 medium, 1 low).
              rsync code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              rsync has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              rsync releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.
              It has 258 lines of code, 32 functions and 2 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of rsync
            Get all kandi verified functions for this library.

            rsync Key Features

            No Key Features are available at this moment for rsync.

            rsync Examples and Code Snippets

            No Code Snippets are available at this moment for rsync.

            Community Discussions

            QUESTION

            rsync: How to apply a recursively include filter while excluding other files
            Asked 2022-Apr-14 at 08:04

            I'm trying to rsync a folder, but only some specific contents matching pattern and exluding the remaining files. I tried many solutions, followed advices from #2503 and #11111793, but I can't achieve a simple (at least in my mind) copy :/

            This is my folders tree :

            ...

            ANSWER

            Answered 2022-Apr-14 at 08:04

            Try first including folders themselves:

            Source https://stackoverflow.com/questions/71868178

            QUESTION

            How to encrypt remote repo, with gcrypt or other?
            Asked 2022-Apr-05 at 14:11

            The goal is to store my code encrypted on a BitBucket remote repo. Something should deal with encrypting and decrypting so I landed on gcrypt or in full, git-remote-gcrypt.

            I have a Bitbucket account with SSH keys configured.
            This is what I've tried.

            rsync

            I copied these commands from the manual.

            ...

            ANSWER

            Answered 2022-Apr-05 at 08:00

            freetalk@bitbucket.org: I confirm this would never work, as an SSH URL to a Git remote repository hosting service would always use the 'git' user (and rely on the SSH key to authenticate and identify the actual user account).

            spwhitton/git-remote-gcrypt commit 6233fde does mention:

            Remove deprecated gcrypt::ssh:// (use rsync instead)

            So a rsync URI seems more supported, as in commit 3b69f81

            In your case:

            Source https://stackoverflow.com/questions/71741209

            QUESTION

            Where does rsync send files?
            Asked 2022-Mar-29 at 14:10

            I wanted to send a file to server by using:

            ...

            ANSWER

            Answered 2022-Mar-29 at 14:10

            You now have a (lokal) copy of myfile named username@151.161.10.10. Since the destination did not specify a valid remote location (user@hostname:file) or existing local directory, it was interpreted as a filename.

            Source https://stackoverflow.com/questions/71663469

            QUESTION

            Intermittent connection failure to remote machine when remote (gdb) debugging with VS2019
            Asked 2022-Mar-28 at 17:35

            I'm compiling and debugging native C++ code on a Linux VM hosted (with Hyper-V) on the same machine on which I'm running Visual Studio 2019 (Enterprise Version 16.11.1). The remote connection only works most of the time. About 15%-20% of the time when I attempt to start the build or a debug session, it fails with:

            "Could not connect to the remote system. Please verify your connection settings, and that your machine is on the network and reachable."

            There is no reliable time period after which this happens (or doesn't). I can successfully remote-compile, then try to start debugging two (2) seconds later, and have it fail. Once it fails, I go to Tools > Options > Cross Platform > Connection Manager > [highlight already-selected connection] > Verify and I get a dialog box indicating "Connection verified.", indicating that it is in fact able to connect.

            It can work fine many times in a row, and then suddenly fail. Once it fails, I have to close Visual Studio and re-open it to make it start working properly again. Through experimentation, I've found that I can also change the connection to a different remote host, and then back to the original again, to make it start working again, but that takes longer than just bouncing VS2019. It is becoming a real PITA to have to restart VS2019 every few minutes while developing.

            Are others experiencing this intermittent failure, and/or have any ideas regarding what causes it or how it can be resolved (or even worked around faster than my current method)?

            The tail of the remote connections log after a failed attempt to start a debugging session is:

            07:13:06.4516823 [Info, Thread 82] liblinux.RemoteSystemBase: Connecting over SSH to 10.10.10.10:22
            07:13:06.6101023 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "g++ -v" finished with exit code 0 after 46.0657ms
            07:13:06.6127453 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "clang++ -v" finished with exit code 127 after 2.1315ms
            07:13:06.6151614 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "gdbserver --version" finished with exit code 0 after 2.3438ms
            07:13:06.6181017 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "gcc -v" finished with exit code 0 after 2.8722ms
            07:13:06.6634892 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "gdb -v" finished with exit code 0 after 45.5621ms
            07:13:06.7094904 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "/usr/bin/gdb -v" finished with exit code 0 after 45.7139ms
            07:13:06.7114880 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "/usr/local/bin/gdb -v" finished with exit code 127 after 2.5014ms
            07:13:06.7184905 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "rsync -v" finished with exit code 1 after 6.6996ms
            07:13:06.7209159 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "lldb -v" finished with exit code 127 after 2.1041ms
            07:13:06.7235831 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "ninja --version" finished with exit code 0 after 2.6598ms
            07:13:06.7265292 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "cmake --version" finished with exit code 0 after 2.6648ms
            07:13:06.7284878 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "make -v" finished with exit code 0 after 2.3541ms
            07:13:06.7324881 [Info, Thread 82] liblinux.IO.RemoteFileSystemImpl: Connecting over SFTP to 10.10.10.10:22
            07:13:06.8813322 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "cat /etc/os-release" finished with exit code 0 after 3.1399ms
            07:13:06.8842647 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "uname -m" finished with exit code 0 after 2.6496ms
            07:13:06.8867628 [Info, Thread 82] liblinux.Shell.CommonCommandBase: Command "uname -r" finished with exit code 0 after 2.3968ms
            07:13:06.8872544 [Info, Thread 82] liblinux.RemoteSystemBase: Disconnecting over SSH from "10.10.10.10:22"
            07:13:06.8872544 [Info, Thread 82] liblinux.IO.RemoteFileSystemImpl: Disconnecting over SFTP from 10.10.10.10:22

            ...

            ANSWER

            Answered 2022-Mar-28 at 17:35

            To view SSH logging in real-time logging on the remote machine, SSH to it and:

            $ sudo journalctl -f -u ssh

            (Optional: You can set the log level (e.g. to DEBUG, or INFO) in the SSH daemon configuration file.) On Debian, the SSH daemon configuration file is here:

            /etc/ssh/sshd_config

            You'll find that Visual Studio opens several SSH sessions to the remote machine, and closes most of them almost immediately after opening them. Each time you remote-compile or remote-debug, you'll see several sessions open and quickly close. There seems to be one or more, however, that persist. They eventually time out and are shut down by the remote SSH daemon, as evidenced by one or more logged message(s):

            sshd[{*nix_process_id}]: Timeout, client not responding from user {user} {ip_address} port {random_port#} (where {*nix_process_id}, {user}, and {random_port#} are replaced by the obvious).

            It is immediately after this/these session(s) time out that Visual Studio decides it can no longer connect, (even though it can). This seems like a Visual Studio bug, but I've found no info regarding it online.

            My workaround is to set the following in the SSH daemon configuration file:

            Source https://stackoverflow.com/questions/71538652

            QUESTION

            Prevent .libPaths() in R from resolving symlinks
            Asked 2022-Mar-22 at 19:32

            I have two almost identical systems. I install software in system1 (a remote testing environment) in /export/apps/ and then rsync the files to system2 in its /export/apps. For file system reasons, /export/ is really a symlink on each system. This usually works b/c for most many programs, any hard-baked paths contain the symlink and the file structure under the symlink is identical. So

            system1 : /export/ -> /gpfs0/remote-test/export

            system2 : /export/ -> /gpfs0/export

            However, when I set .libPaths in R, R 'helpfully' resolves the symlinks. I have a strong suspicion that when I rsync this to system2, those resolved symlinks are going to break the installed software. E.g. (in R/4.0.0)

            ...

            ANSWER

            Answered 2022-Mar-10 at 20:54

            The .libPaths() function is pretty simple:

            Source https://stackoverflow.com/questions/71429737

            QUESTION

            Running basename on remote server with xargs does not produce expected results
            Asked 2022-Mar-22 at 17:22

            Say I have a file myFile.txt in a local directory called ~/local/directory, then the following command produces results as expected (full file path followed by the name of the file only):

            ...

            ANSWER

            Answered 2022-Mar-22 at 17:22

            You need to escape the $ so that it will be sent literally to the remote machine. Otherwise, $(basename {}) is executed locally, and the output {} is substituted into the ssh argument.

            Source https://stackoverflow.com/questions/71576309

            QUESTION

            rsync not working with variable containing a white space
            Asked 2022-Mar-07 at 06:09

            I cant get my rsync script to work if source or destination variable have a space in the folder name

            ...

            ANSWER

            Answered 2022-Mar-07 at 06:09

            Add option -s with current rsync version.

            From man rsync:

            -s, --protect-args: This option sends all filenames and most options to the remote rsync without allowing the remote shell to interpret them. This means that spaces are not split in names, and any non-wildcard special characters are not translated (such as ~, $, ;, &, etc.). Wildcards are expanded on the remote host by rsync (instead of the shell doing it).

            Source https://stackoverflow.com/questions/71374773

            QUESTION

            MySQL Replication: Question about a fallback-system
            Asked 2022-Mar-01 at 08:18

            I want to set up a complete server (apache, mysql 5.7) as a fallback of a productive server. The synchronization on file level using rsync and cronjob is already done.

            The mysql-replication is currently the problem. More precisely: the choice of the right replica method.

            Multi primary group replication seemed to be the most suitable method so far. In case of a longer production downtime, it is possible to switch to the fallback server quickly via DNS change. Write accesses to the database are possible immediately without adjustments.

            So far so good: But, if the fallback-server fails, it is in unreachable status and the production-server switches to read only, since its group no longer has the quota. This is of course a no-go. I thought it might be possible using different replica variables: If the fallback-server is in unreachable state for a certain time (~5 minutes), the production-server should stop the group_replication and start a new group_replication. This has to happen automatically to keep the read-only time relatively low. When the fallback-server is back online, it should be manually added to the newly started group. But if I read the various forum posts and documentation correctly, it's not possible that way. And running a Group_Replication with only two nodes is the wrong decision anyway.

            https://forums.mysql.com/read.php?177,657333,657343#msg-657343

            Is the master - slave replication the only one that can be considered for such a fallback system? https://dev.mysql.com/doc/refman/5.7/en/replication-solutions-switch.html

            Or does the Group_Replication offer possibilities after all, if you can react suitably to the quota problem? Possibilities that I have overlooked so far.

            Many thanks and best regards

            ...

            ANSWER

            Answered 2022-Feb-23 at 19:50

            Short Answer: You must have [at least] 3 nodes.

            Long Answer:

            Split brain with only two nodes:

            • Write only to the surviving node, but only if you can conclude that it is the only surviving node, else...
            • The network died and both Primaries are accepting writes. This to them disagreeing with each other. You may have no clean way to repair the mess.
            • Go into readonly mode with surviving node. (The only safe and sane approach.)

            The problem is that the automated system cannot tell the difference between a dead Primary and a dead network.

            So... You must have 3 nodes to safely avoid "split-brain" and have a good chance of an automated failover. This also implies that no two nodes should be in the same tornado path, flood range, volcano path, earthquake fault, etc.

            You picked Group Replication (InnoDB Cluster). That is an excellent offering from MySQL. Galera with MariaDB is an equally good offering -- there are a lot of differences in the details, but it boils down to needing 3, preferably dispersed, nodes.

            DNS changes take some time, due to the TTL. A proxy server may help with this.

            Galera can run in a "Primary + Replicas" mode, but it also allows you to run with all nodes being read-write. This leads to a slightly different set of steps necessary for a client to take to stop writing to one node and start writing to another. There are "Proxys" to help with such.

            FailBack

            Are you trying to always use a certain Primary except when it is down? Or can you accept letting any node be the 'current' Primary?

            I think of "fallback" as simply a "failover" that goes back to the original Primary. That implies a second outage (possibly briefer). However, I understand geographic considerations. You may want your main Primary to be 'near' most of your customers.

            Source https://stackoverflow.com/questions/71203324

            QUESTION

            Ansible Template variable type evaluation
            Asked 2022-Feb-24 at 10:38

            just wanted to ask, howo I can evaluate the type of any variable in ansible (jinja templates) easily. The specific case is, that I have vars in memory that look like this:

            ...

            ANSWER

            Answered 2022-Feb-24 at 10:38

            QUESTION

            Ansible Search, Copy and Exclude
            Asked 2022-Feb-16 at 07:15

            I have a ton of directories that are missing a file. The objective is to scan the entire directory list for example /path/to/directories/* and if there is a directory that is missing a specific file, it should be copied over. If it already has it ignore it. I also need to exclude some directories within that search.

            I know I can use the "stat" command in ansible to check for the files possibly in a loop "with_items" since it's going to be a bunch of directories maybe a wild card can be used?

            I know I can use the copy command but I'm not 100% sure how to put it all together.

            Is it possible to use a wildcard for the following:

            ...

            ANSWER

            Answered 2022-Feb-16 at 07:15

            Neither find nor stat module will help you here, I think. You'll have to list the directories from the command line. For example, given the tree

            Source https://stackoverflow.com/questions/71136566

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install rsync

            Rsync normally uses ssh or rsh for communication with remote systems. It does not need to be setuid and requires no special privileges for installation. You must, however, have a working ssh or rsh system. Using ssh is recommended for its security features. Alternatively, rsync can run in `daemon' mode, listening on a socket. This is generally used for public file distribution, although authentication and access control are available. To install rsync, first run the "configure" script. This will create a Makefile and config.h appropriate for your system. Then type "make". Note that on some systems you will have to force configure not to use gcc because gcc may not support some features (such as 64 bit file offsets) that your system may support. Set the environment variable CC to the name of your native compiler before running configure in this case.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/WayneD/rsync.git

          • CLI

            gh repo clone WayneD/rsync

          • sshUrl

            git@github.com:WayneD/rsync.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Reuse Pre-built Kits with rsync

            Consider Popular Incremental Backup Libraries

            rsnapshot

            by rsnapshot

            bitpocket

            by sickill

            RsyncOSX

            by rsyncOSX

            sshfs

            by osxfuse

            rsync

            by WayneD

            Try Top Libraries by WayneD

            j-play

            by WayneDJavaScript