新食譜

新食譜

在 Transmission-gtk 中有一個選項可以運行腳本:編輯 > 首選項 > 下載 > Torrent 完成時呼叫腳本

最近,我發現這個腳本我不知道如何讓它在傳輸下工作。根據程式描述,該腳本不會關閉系統,但可以在所有種子下載完畢後終止傳輸。這對我來說就足夠了,因為我可以連結“關閉“ 到 ”關閉傳輸“ 經過&&

現在,你們可以幫我在傳輸下執行這個 php 腳本嗎?

這是腳本作者提到的一個例子: php.exe Transmission_Quit.php --port=9999 --hostname=192.168.0.1;這是什麼意思?我應該如何使用它?我應該指出“torrent 完成時呼叫腳本“直接選擇?

答案1

我留下這個是為了跟進最初的問題,即要求運行特定的 php 腳本。但“新配方”部分提供了一種解決方法,以解決主要問題。

請嘗試此操作並告知您的結果,之後此答案可能會被更改或刪除:

在某個時刻,可能會詢問您的密碼。

  1. 首先,讓我們透過放入終端機來建立一個名為 script.php 的檔案sudo gedit script.php(請記住,您可以將此檔案放入您想要的任何資料夾中,但出於測試目的,您的主資料夾將是好的)。
  2. 在文件中,讓我們複製/貼上您提到的腳本的內容。儲存文件並關閉它。
  3. 現在,讓我們透過在終端機中刪除接下來的兩行(一次一行)來為該檔案提供適當的檔案權限和執行權限。

    須藤 chmod 755 script.php

    sudo chmod a+x script.php

  4. 現在,讓我們透過插入終端機來安裝 php5-cli sudo apt-get install php5-cli,然後等待終端完成安裝程序。

安裝後php5-cli,我們可以透過在終端機中呼叫來測試腳本php script.php --port=9999 --hostname=192.168.0.1;,但如果從 Transmission 內部進行測試會更好。

php5-cli是 PHP5 腳本語言的命令列解釋器,它對於運行這樣的 php 腳本很有用,它更像是 Windows 的 php.exe 文件,也就是您在原始問題中引用的文件。

我希望您成功,但請告知您的結果,以便提供適當的支持,或者如果沒有用,請刪除此答案。

附錄

閱讀完您的評論後,我給了您這個 php 腳本的快餐食譜。

首先,我需要解釋腳本作者給出的範例的某些內容,如下所示:

script.php  --port=9999 --hostname=192.168.0.1;
  • --port=9999= 9999 是一個範例端口,但在此欄位中您應該寫入在 Web 用戶端標籤上定義的相同連接埠號碼。
  • --hostname=192.168.0.1= 必須是您希望腳本執行以終止傳輸進程的裝置的IP。

這讓我認為該進程可以遠端調用,但對於我們的特殊情況,我們將使用預設值,這樣我們就不需要包含連接埠和主機名稱。只需script.php在終端機中運行該文件或透過傳輸調用該文件,它將使用適用於我們電腦的預設值 ( localhost)。

然後,我們來煮快餐:

  1. 我們需要一個文件,我們將其命名為 bye.sh 並將其放置在某個位置,您的主資料夾是用於測試目的的好地方。
  2. 插入文件的下一個內部(快餐腳本在這裡),儲存,關閉並賦予其執行權限。 (作為參考,請繼續閱讀此答案並找到方法)。

在此輸入影像描述

  • 然後,在 Transmission「下載」標籤中提供該文件,但請確保包含下載完成時要呼叫的正確 bye.sh 文件。

在此輸入影像描述

就是這樣。我需要解釋一下,不知何故,php 腳本成功了,但在下載完成後觀察到了一個小延遲,而且我剛剛用 2 個小 torrent 檔案進行了測試。我不能說如果清單較長或下載大小較大,延遲是否會增加,這是新配方公式未觀察到的行為。然而,PHP 檔案向您保證它將在任何支援PHP 的作業系統中運行,而我的新食譜主要適用於基於Linux 的系統,它可以在Ubuntu 上運行,並且可能在其他發行版(Debian 或基於Ubuntu的發行版)中成功,某些修改將使其能夠在其他非基於 Debian/Ubuntu 的發行版中取得成功。

祝你好運!

新食譜

好吧,我有一個針對這種情況的新配方,我承認它引起了我所有的注意,即使我不經常使用傳輸。

食譜

原料

  1. Transmission-gtk(以某種方式安裝,從軟體包、終端機等安裝)
  2. Transmission-cli(sudo apt-get install Transmission-cli,提供密碼,等待安裝完成。)
  3. 劇本。 (分開煮)

準備

  • 讓我們準備好傳輸以便接收來自外部的網路用戶端請求,這樣我們就可以監控程式中發生的情況。讓我們打開 Transmission 並轉到“Web”選項卡,以啟用“啟用 Web 用戶端”複選框,如下一個螢幕截圖所示。

在此輸入影像描述

(預設值就可以完美地完成任務)

  • 讓我們打開我們最喜歡的文字編輯器來建立一個名為 的文件 byebye.sh,然後將下一個內容放入其中。 (見腳本這裡

在此輸入影像描述

Now, let's find the bybye.sh file and give it the proper execution permissions by dropping in a terminal sudo chmod a+x bybye.shor by entering the file properties in Nautilus and activating the "Allow executing file as program" checkbox in the "Permissions" as shown in the next螢幕截圖.

在此輸入影像描述

  • 一旦我們編寫了腳本,讓我們transmission-cli在終端 drop: 中安裝sudo apt-get install transmission-cli,按 Enter 並提供您的密碼,然後將安裝軟體。

品嚐時間

在終端機中,丟棄transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l後,結果可能會因情況而異,具體取決於待傳輸或目前正在下載的 torrent 數量。如果結果與我們不同,0我們就上路。如果您收到0並且某些內容正在下載或正在排隊,您必須從頭開始檢查配方。如果您收到錯誤,請將其放入評論中以便提供支援。

  • 如果一切順利,現在讓我們指示 Transmission 在每次 torrent 完成時執行腳本。冷靜下來!請冷靜...腳本將在每次 torrent 下載完成時運行,但只有在下載結果為零時才會觸發終止傳輸的操作。這種有條件的方式讓我們放心,傳輸不會在每次下載時關閉。為了您的方便,提供了螢幕截圖:

在此輸入影像描述

瞧!該食譜可以大量提供,並與您所有的下載一起提供。如果最後一次下載成功,傳輸就會關閉。

一些警告

如果 Transmission 只有一個待處理的操作,並且下載在軟體開啟的那一刻完成,那麼 Transmission 將在開啟後立即關閉。

詞彙表:

killall -9 transmission= 將以溫和的方式關閉傳輸,這樣您就不會在每次關閉時收到錯誤訊息。透過簡單地使用killall transmission將會以粗魯的方式關閉它,因此軟體將報告關閉失敗。

現在,在提供食譜時,請確保在桌子上為我準備一杯裝有優質古巴朗姆酒的玻璃杯...

祝你好運!

相關內容