使用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,也可以參照此方法進行設置。