C'è un modo per non sovrascrivere i file esistenti quando si utilizza pscp?


3

Sto cercando di copiare i file da una cartella su un server utilizzando un file batch, tuttavia, non voglio che i file nella cartella di destinazione vengano sovrascritti. Questo è quello che ho:

set /p address=ip address:
pause
pscp -pw "password" "username"@%address%:/folder path/* c:\folderpath

Questo funziona, tuttavia, quando viene eseguito sovrascrive i file nella cartella di destinazione. C'è un modo per farlo saltare sui file che sono già nella cartella di destinazione?


1
Vedi anche: superuser.com/questions/131801/… , aplawrence.com/Basics/no_clobber_scp.html , linuxquestions.org/questions/linux-software-2/… - il suggerimento generale sembra essere 'usa invece rsync'. Un altro suggerimento è usare scp per trasferire in una directory temporanea e usare uno script sul lato server per copiare le cose senza sovrascrivere. Immagino che sarebbe anche possibile usare ssh per verificare l'esistenza di file in uno script sul lato client, ma sembra un po 'noioso.
Bob

Vedi anche: stackoverflow.com/questions/13410990/… - sì, un altro suggerimento rsync.
Bob,

Risposte:


2

Il protocollo SCP non è molto sofisticato. Il lato mittente può solo inviare alla cieca i file e le directory al destinatario. Non esiste un'opzione standard per evitare di sovrascrivere i file sulla destinazione.

Dovresti guardare protocolli di trasferimento più sofisticati, come SFTP o rsync come nei commenti.


0

TL; risposta DR da questi commenti:

rsync -e ssh --ignore-existing server.xxx.com:/path/\* /destination/path

Meglio ancora, se il server supporta anche CIFS ("condivisioni di rete"), usalo con cp -u.

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.