Linux
如何使用 scp MOVE 文件?
如何不將文件從一台伺服器複製而是移動到另一台伺服器(都是 Linux)?
man scp
沒有給我任何有用的東西。我不能使用 ‘scp’ 然後 ‘rm’ 因為我必須確保文件已成功傳輸。如果傳輸過程中出現任何錯誤,則不得刪除該文件。也許我應該以某種方式使用退出程式碼,但是如何?此外,還有很多文件,如果最後一個文件失敗,那麼保留所有成功傳輸的文件將不是一個好選擇。
也許除了SCP之外還有什麼?
rsync over ssh 可能是您最好的
--remove-source-files
選擇rsync -avz --remove-source-files -e ssh /this/dir remoteuser@remotehost:/remote/dir
快速測試給出;
[tomh@workstation001 ~]$ mkdir test1 [tomh@workstation001 ~]$ mkdir test2 [tomh@workstation001 ~]$ touch test1/testfile.1 [tomh@workstation001 ~]$ ls test1/ testfile.1 [tomh@workstation001 ~]$ rsync --remove-source-files -av -e ssh test1/testfile.1 tomh@localhost:/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 [tomh@workstation001 ~]$ ls test1/ [tomh@workstation001 ~]$ [tomh@workstation001 ~]$ ls test2/ testfile.1
正如@SvenW 提到的,
-e ssh
是預設值,因此可以省略。