I'm using the static site generator Nanoc, with rsync locally and on the (ancient Ubuntu) server so I can deploy from the command line.
It's been awhile since I last used rsync for this site but I'm now getting:
Nanoc::Extra::Piper::Error: command exited with a nonzero status code 3072 (command: rsync --group --links --perms --partial --progress --recursive --times --verbose --compress --exclude=".hg" --exclude=".svn" --exclude=".git" output/ uname@IP_ADDRESS:/home/path_to_remote_dir)
Locally I was running rsync 2.6.9 (when the error occurred) so upgraded rsync to 3.1.3_1 (OS X/Homebrew). The server runs rsync 3.0.3.
Is that 3072 error code from rsync? If so, what does it mean?
Update Feb 2020
After even more rsync issues deploying this Nanoc site I've moved to setting up GIT for nanoc deploy
:
- copy the SSH key from the server
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
- create a bare GIT repo on the server (outside the site root)
- set up
deploy
in "nanoc.yaml" (as below) - exclude "output/" from the nanoc site repo in local ".gitignore"
git init
inside the "output" and…- …
git remote set-url server ssh://USER@IP:PORT/PATH_TO_BARE_REPO.git
- create a ".git/hooks/post-receive" file inside the bare repo (as below)
- make it executable with
chmod +x post-receive
in "nanoc.yaml":
deploy:
default:
kind: git
remote: ssh://USER@IP:PORT/PATH_TO_BARE_REPO.git
branch: master
forced: true
(to only overwrite changed files, I might try using without "forced", but it's pretty quick for what is a large site anyway)
On the server in "SITE_REPO.git/hooks/post-receive":
#!/bin/sh
git --work-tree=/PATH_TO_SITE_ROOT --git-dir=PATH_TO_BARE_REPO.git checkout -f
And it works fine. So in this case, I think GIT is a better option here. I also created a global git pushall
alias on my local system to push to the server and the live site with one command.
I found someone reported this Sync Tool error 3072 a year ago, and the logs were showing nothing except an unauthorized login failure. Check for password changes.