rsync Issues After Upgrading to Ubuntu 14.04 LTS

I use Fabric to automate deployments to my personal website,  The underlying mechanism that Fabric uses to send code from my personal computer to my web server is rsync, and after upgrading my WWW server VM to Ubuntu 14.04 LTS I started getting a strange rsync error from rsync when trying to push changes to my website:

Pushing files remotely...
[] rsync_project: rsync --delete --exclude ".git*" --exclude "settings_local*" --exclude "*.jar" --exclude "*.pyc" --exclude "*.sqlite" --exclude "*.tar.gz" --exclude "*.zip" -pthrvz  --rsh='ssh  -p 22 ' ../tehranian
[localhost] local: rsync --delete --exclude ".git*" --exclude "settings_local*" --exclude "*.jar" --exclude "*.pyc" --exclude "*.sqlite" --exclude "*.tar.gz" --exclude "*.zip" -pthrvz  --rsh='ssh  -p 22 ' ../tehranian
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(181) [sender=3.0.9]

Fatal error: local() encountered an error (return code 2) while executing 'rsync --delete --exclude ".git*" --exclude "settings_local*" --exclude "*.jar" --exclude "*.pyc" --exclude "*.sqlite" --exclude "*.tar.gz" --exclude "*.zip" -pthrvz  --rsh='ssh  -p 22 ' ../tehranian'

The highlighted text made me think that there was some sort of incompatibility between the rsync 2.6.9 client on my Mac and the rsync 3.1.0 that my shiny new Ubuntu disto came with.  Unfortunately upgrading rsync on my Mac via Homebrew did not to help.

The real issue at hand was that the local user on my WWW server that I use to rsync had its login shell switched to “/usr/sbin/nologin” by the Ubuntu upgrader.  How strange.

After editing “/etc/passwd” and changing the login shell for my user back to “/bin/bash” rsync is working again without cryptic & misleading errors about protocol incompatibilities.

2 thoughts on “rsync Issues After Upgrading to Ubuntu 14.04 LTS

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s