在我的家庭網絡上,我想從server1遠程運行server2上的python腳本。這兩臺服務器都位於家庭網絡中。我需要將文件上傳到server2並運行python腳本。 python腳本需要幾個小時才能完成,因此我想在server2的屏幕上運行它。我試圖用php和一些bash腳本來實現這個。運行ssh -t生成遠程屏幕
服務器1上的我的php腳本在同一臺服務器上運行bash腳本。 bash腳本使用:[ssh -t user @ server screen'sudo python pyth_script.py']嘗試運行server2上的python腳本。請注意,我正在使用-t選項。 bash腳本還有一個scp命令將文件從server1複製到server2。我已經使用密鑰來啓用從服務器1到服務器2的ssh命令,而不需要密碼。
當我從命令行運行bash腳本時,它的功能完美無缺。 server2上的屏幕被激活,python程序在裏面運行。我以普通用戶的身份運行bash腳本,作爲root和www-data(php腳本通過apache運行並且是用戶www-data)。在任何用戶下,bash腳本在從命令行運行時按預期工作。
當我通過php腳本運行bash腳本(點擊一個可以觸發php腳本的html表單)時,scp命令正常工作並且文件被傳輸,但是python腳本不能運行。包含「ssh ... screen ...」的php行的輸出返回「必須連接到終端」,但我使用-t選項,正如我所提到的,bash腳本在運行時按預期運行從命令行。
任何想法我做錯了什麼?
什麼是使用Web界面遠程運行python腳本的最佳方式?
感謝, RB3