rsync: getcwd(): No such file or directory (2)
I had the exact same issue, and my solution was something I had never thought of. In my case rsync
worked fine for all the time until it stopped during some tests after changes to one of my scripts. The culprit was that my currently logged in UNIX user was in a non-existent folder that was already deleted by a script.
The getcwd(): No such file or directory (2)
error message was related to $PWD
, not the source, and not the destination.
Just change the folder to an existing one (e. g. cd ~
) and re-run the script. Don’t forget to alter rsync
paths if they aren’t already absolute.
Related videos on Youtube

wolvpak
Updated on September 18, 2022Comments
-
wolvpak 8 months
I want to sync
Server1
andServer2
's logs toLogServer
.For
Server1
:rsync -avz -e 'ssh -p 2188' user@server1:/usr/local/servers/logs/* /usr/local/logs/
This one works, but for
Server2
:rsync -avz -e 'ssh -p 2188' user@server2:/usr/local/servers/logs/* /usr/local/logs/
It fails:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory rsync: getcwd(): No such file or directory (2) rsync error: errors selecting input/output files, dirs (code 3) at util.c(992) [sender=3.0.6] rsync: connection unexpectedly closed (0 bytes received so far) [receiver] rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.6]
Both
Server1
andServer2
is hosted on Amazon with the same version ofrsync
.I am quite sure that every directory in the command is exists. How can I solve this problem?
UPDATE: I have tried
ssh -p 2188 user@server2 pwd
, and it doesn't work:shell-init: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory
Screenshot
-
Sobrique about 9 yearsWhat user are you using for rsync? I've seen that error when the current user doesn't have permissions to access the directory structure.
-
Jenny D about 9 yearsOr when the user's home directory doesn't exist on the server.
-
wolvpak about 9 yearsCurrent user have read permission to those logs and home directory is exist.
-
sciurus about 9 yearsManually SSH into server2 as user. Does that work without any errors? If so, does
ls -R /usr/local/servers
work without any errors? -
wolvpak about 9 yearsYes, it works without any errors !
-
sendmoreinfo about 9 yearsdoes 'ssh user@server2 pwd' work too?
-
wolvpak about 9 years@sendmoreinfo, this is wired,
ssh -p 2188 user@server2 pwd
doesn't work! But I can actually login server2 with ssh -
wolvpak about 9 years@MadHatter, I have upload the screenshot, thanks !
-
kranteg about 9 yearsThe difference between launching a command with ssh and opening a shell is the init part of the shell. Have you done modifications to .bash_rc or .bash_profile ? Can you compare them between server1 and server2 ?
-
Joe C over 2 yearsThis happened to me when I wasn't doing anything remote or over SSH. I changed my source and destination paths to be full paths, not relative to where I was when I issued the command. That fixed ti.
-
Nam G VU about 2 yearsUse
scp
command instead ofrsync
may be helpful for you!
-
-
inquam over 5 yearsI had a very similar issue today when setting up syncing between two folders and getting this message. The source and destination folders clearly existed. I checked if I might have been in a deleted folder but that wasn't the issue. But I was in the destination folder (which was a rclone mounted Google Drive). I changed my working directory to something else and the sync worked perfectly without giving an error.
-
progonkpa over 1 yearI had the same issue and this solved it, much gratitude.