Rsync error code 20 – Here’s how we sort it out
Is your file transfer ending with rsync error code 20? We can help you.
The error occurs due to signal interrupts either from the keyboard or from any user-defined event.
Usually, the user-defined interrupts occur due to bad firewall settings, missing packages, and syntax errors in commands.
At Bobcares, we often get requests to fix rsync errors, as part of our Server Management Services.
Today, let’s get into the details and see how our Support Engineers fixed this rsync error.
Why does rsync operation end with error 20?
Rsync is a command-line utility that allows local and remote file transfer. This is mostly used for taking backup, transferring files, etc.
But interrupts in between transfer ends the rsync operations due to error code 20. This can be due to signal interrupts like SIGINT, SIGTERM, SIGUSR1, etc.
More specifically, SIGINT occurs when the user interrupts the rsync operation by pressing keys like Ctrl+C. Whereas, SIGUSR1 are user-defined signals. This is usually set by developers to indicate bad firewall settings, missing packages, and syntax errors in commands.
How we fix this rsync error 20?
Now let’s see how our Support Engineers fix the rsync error due to user-defined interrupts.
Fix firewall settings
Recently, one of our customers had an error, his rsync operation failed to work after a kernel update. And he got the error,
rsyncd version 3.0.9 starting, listening on port 873 rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(551) [Receiver=3.0.9]
On checking, our Support Engineers found that the error was due to the firewalld configuration. The customer had disabled firewalld and enabled iptables.
But, somehow firewalld got re-enabled and was blocking rsync. We corrected the firewall configuration on the server. This fixed the error.
Run rsync in background
Another user was trying to delete huge files. Since it takes a longer duration, he used nohup in the command to avoid signals. But his rsync operation ended with error code 20.
The error occurred because rsync won’t work with nohup. To run the operation in the background, we use a screen. We open the screen using the command,
screen -S rsync
Then run the required rsync command. Later detach the screen using, Ctrl+A+d.
Install missing packages to fix rsync error
Similarly, another reason for the rsync error is missing packages. A user got the rsync error while executing the following command.
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [sender=3.0.9]
By checking, our Support Engineers found that the error occurred due to the missing libgcrypt11 package.
Hence we installed the packages using the command,
apt-get install libgcrypt11 apt-get install libgcrypt11:i386
This fixed the error.
Other common causes of rsync error 20
Customers often get this error while using the wrong syntax in commands. Another possible reason for this error is the lack of sufficient memory.
Similarly, if users press the keys like Ctrl+C between rsync operation, it can end up in the same error.
[Need assistance to fix rsync errors? – We’ll help you.]
In short, rsync error code 20 occurs due to keyboard interrupts and user-defined interrupts. Today, we saw how our Support Engineers fixed it the rsync errors due to user-defined interrupts.