Rsync può usare una variabile d'ambiente remota?


0

Di 'che voglio usare rsync per copiare una cartella remota sul mio desktop locale:

rsync -av remote:$REMOTEDATA $LOCALDATA

Ma voglio accedere alla variabile d'ambiente $ REMOTEDATA sul server remoto, non sul desktop locale.

Posso farlo?

Risposte:


3

devi ottenere l'ambiente dal computer remoto nel tuo computer locale:

$> export $(ssh remote "env | grep REMOTEDATA) 
$> rsync -av remote:$REMOTEDATA $LOCALDATA

o qualcosa di simile. il comando (il fatto che sia rsync non ha importanza) viene eseguito localmente e la shell sta sostituendo le variabili $ localmente.


va bene, ha senso. Grazie. Quindi non c'è modo di farlo all'interno del rsynccomando in modo che non debba aprire sshin aggiunta?
nsheff,

no. non sai in anticipo cosa è impostato sul server.
Akira,

Le variabili di ambiente non sono impostate sui computer, sono cose per processo. Ho il sospetto che la variabile d'ambiente che stai cercando di ottenere sia impostata dagli script di inizializzazione della shell (/ etc / profile o ~ / .profile o qualcosa del genere), quindi per far sì che la variabile esista, devi creare un processo di shell sul computer remoto, lasciare che lo script del profilo crei la variabile, quindi fare in modo che la shell riporti il ​​valore della variabile. (Il che è ciò che fa questa risposta.)
Gordon Davisson,
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.