rsync: getcwd (): nessun file o directory (2)


11

Voglio sincronizzazione Server1e Server2's log a LogServer.

Per Server1:

rsync -avz -e 'ssh -p 2188' user@server1:/usr/local/servers/logs/* /usr/local/logs/

Questo funziona, ma per Server2:

rsync -avz -e 'ssh -p 2188' user@server2:/usr/local/servers/logs/* /usr/local/logs/

Non riesce:

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]

Entrambi Server1ed Server2è ospitato su Amazon con la stessa versione di rsync.

Sono abbastanza sicuro che ogni directory nel comando esiste. Come posso risolvere questo problema?

AGGIORNAMENTO: ho provato ssh -p 2188 user@server2 pwde non funziona:

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

Immagine dello schermo

inserisci qui la descrizione dell'immagine


1
Quale utente stai usando per rsync? Ho visto quell'errore quando l'utente corrente non dispone delle autorizzazioni per accedere alla struttura della directory.
Sobrique,

1
O quando la home directory dell'utente non esiste sul server.
Jenny D,

L'utente corrente ha il permesso di leggere quei registri ed esiste la home directory.
WoooHaaaa,

SSH manuale in server2 come utente . Funziona senza errori? In tal caso, ls -R /usr/local/serversfunziona senza errori?
sciurus,

1
Sì, funziona senza errori!
WoooHaaaa, il

Risposte:


29

Ho avuto lo stesso identico problema e la mia soluzione era qualcosa a cui non avevo mai pensato. Nel mio caso ha rsyncfunzionato bene per tutto il tempo fino a quando non si è fermato durante alcuni test dopo aver modificato uno dei miei script. Il colpevole era che il mio utente UNIX attualmente connesso si trovava in una cartella inesistente che era già stata eliminata da uno script.

Il getcwd(): No such file or directory (2)messaggio di errore era legato a $PWD, non la fonte, e non la destinazione.

Basta cambiare la cartella con una esistente (ad es. cd ~) E rieseguire lo script. Non dimenticare di modificare i rsyncpercorsi se non sono già assoluti.


2
Ho avuto un problema molto simile oggi durante l'impostazione della sincronizzazione tra due cartelle e la ricezione di questo messaggio. Le cartelle di origine e destinazione esistevano chiaramente. Ho controllato se avrei potuto essere in una cartella eliminata ma non era questo il problema. Ma ero nella cartella di destinazione (che era un Google Drive montato su rclone). Ho cambiato la mia directory di lavoro in qualcos'altro e la sincronizzazione ha funzionato perfettamente senza dare un errore.
Inquam
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.