GNU/Linux >> Znalost Linux >  >> Linux

Jak _MOVE_ soubory pomocí scp?

Řešení 1:

rsync přes ssh je pravděpodobně vaše nejlepší sázka s --remove-source-files možnost

rsync -avz --remove-source-files -e ssh /this/dir [email protected]:/remote/dir 

dá rychlý test;

[[email protected] ~]$ mkdir test1
[[email protected] ~]$ mkdir test2
[[email protected] ~]$ touch test1/testfile.1
[[email protected] ~]$ ls test1/
testfile.1
[[email protected] ~]$ rsync --remove-source-files -av -e ssh test1/testfile.1 [email protected]:/home/tomh/test2/
sending incremental file list

sent 58 bytes  received 12 bytes  10.77 bytes/sec
total size is 0  speedup is 0.00

[[email protected] ~]$ ls test1/
[[email protected] ~]$
[[email protected] ~]$ ls test2/
testfile.1

Jak zmínil @SvenW, -e ssh je výchozí, takže jej lze vynechat.

Řešení 2:

Použijte rsync místo scp :

rsync -avz --remove-source-files /sourcedir [email protected]:/targetdir 

Další informace s man rsync .

Řešení 3:

Tato otázka byla zodpovězena v pořádku a odpověď byla přijata, ale protože se vznášela nahoře na titulní stránce, řekl jsem si, že se na ni alespoň pokusím odpovědět přesněji, i když méně elegantně. Ano, můžete použít návratový kód z scp a dělám to často. V bash :

scp foo [email protected]:/destination && rm foo

Beru váš názor na více souborů, které je třeba zkopírovat a správně zpracovat selhání v zásobníku, takže pro více souborů:

for file in bar*; do scp "$file" [email protected]:/destination && rm "$file" ; done

Toto poslední je praktické pouze v případě, že používáte ssh-agent , ale velmi doufám, že ano.

Řešení 4:

v mé situaci není port ssh 22, takže

rsync -avz --remove-source-files -e "ssh -p $portNumber" [email protected]:/path/to/files/ /local/path/

funguje pro mě.

Řešení 5:

pokud máte starší cílový server jako já, nemůžete použít

--remove-source-files

ale musíte použít

--remove-sent-files --protocol=29

místo toho.


Linux
  1. Jak šifrovat soubory pomocí gocryptfs na Linuxu

  2. Jak najít soubory s určitou podcestou?

  3. Jak bezpečně přenášet soubory pomocí SCP

  1. Jak rozbalit soubory v Linuxu (s příklady)

  2. Jak najít soubory pomocí příkazu fd v Linuxu

  3. Zkopírujte soubory pomocí SCP a Rsync

  1. Jak vyloučit soubory a adresáře pomocí Rsync

  2. Jak přenášet soubory v Linuxu pomocí SCP a Rsync

  3. Jak kopírovat více souborů současně pomocí scp