linux scp放後臺執行方法

 使用scp傳輸大文件時,放後臺跑,從本地複製文件到遠程服務器

scp -l 40960 -r bak 遠程服務器ip:/data/bak/

     注:-r爲遞歸複製整個目錄;-l 爲限制scp佔用的寬帶,單位爲:Kbit/s,例子中爲 40960/8/1024=5MB/s。可以不加此參數。

輸入遠端服務器密碼後,會開始文件傳輸,顯示傳輸進度。

輸入ctrl + z 暫停

[1]+  Stopped                 scp -r bak/ 10.30.1.1:/data/bak/

此時查看jobs:

[root@ubuntu]# jobs
[1]+  Stopped                 scp -r bak/ 10.30.1.1:/data/bak/

bg將該任務號放入後臺:

[root@ubuntu]# bg %1
[1]+ scp -r bak/ 10.30.1.1:/data/bak/ &

查看任務已經在後臺運行:

[root@ubuntu]# jobs
[1]+  Running                 scp -r bak/ 10.30.1.1:/data/bak/ &

使用disown -h 將這個作業忽略HUP信號:

[root@ubuntu]# disown -h %1
[root@ubuntu]# jobs
[1]+  Running                 scp -r bak/ 10.30.1.1:/data/bak/ &

退出登錄,再次進去查看任務運行狀態和父進程號:

[root@ubuntu]# ps -ef|grep scp

發現scp任務繼續運行,沒有因爲會話斷開而中斷,父進程號變爲1。

如果有其他任務需要使用nohup後臺運行,但執行時卻忘記了使用nohup,也可以參照此方法進行設置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章