我希望它由传输客户端运行的PHP脚本!
在transmission-gtk中有一个选项可以运行脚本: 编辑>首选项>下载>调用脚本完成torrent 。
最近,我发现这个脚本我不知道如何使其在传输下工作。 根据程序描述,脚本不会关闭系统,但它可以在所有种子完成后终止传输。 这对我来说已经足够了,因为我可以通过&&
将“ 关闭 ”链接到“ 关闭传输 ”。
现在,伙计们,帮助我在传输中运行这个PHP脚本吗?
这是脚本作者提到的一个例子: php.exe Transmission_Quit.php --port=9999 --hostname=192.168.0.1
; 这是什么意思?! 我应该如何使用它? 我应该直接将其指向“ 在torrent完成时调用脚本 ”选项吗?
我要离开这个,以便跟进原来的问题,即要求运行特定的PHP脚本。 但是新配方部分提供了一种解决方法,以解决主要问题。
请尝试此操作并告知您的结果,之后可能会更改或删除此答案:
在某个时刻,您的密码可能会被询问。
- 首先,让我们通过删除终端
sudo gedit script.php
创建一个名为script.php的文件(请记住,您可以将此文件放在您希望的任何文件夹中,但出于测试目的,您的主文件夹将会很好)。 - 在文件中,让我们复制/粘贴您提到的脚本的内容。 保存文件并关闭它。
-
现在让我们给文件提供适当的文件权限和执行权限,方法是在终端中删除接下来的两行,一行一行。
sudo chmod 755 script.php
sudo chmod a + x script.php
-
现在,让我们通过放入终端
sudo apt-get install php5-cli
,让我们等待终端完成安装过程。
一旦安装了php5-cli
,我们就可以通过调用php script.php --port=9999 --hostname=192.168.0.1;
来测试脚本php script.php --port=9999 --hostname=192.168.0.1;
在终端中,但如果你从传输内部做到这一点会更好。
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
)。
然后,让我们做快餐:
- 我们需要一个文件,让我们称之为bye.sh并将其放在某处,您的主文件夹是一个用于测试目的的好地方。
- 在文件中插入下一个( 快餐脚本 ),保存,关闭它并赋予它执行权限。 (作为参考,请回答这个问题并找到答案)。
- 然后,在“传输”下载选项卡中提供它,但请确保在下载完成时包含要调用的正确的bye.sh文件。
而已。 我需要解释一下,不知何故,php脚本是成功的,但它在下载完成后观察了一小段延迟,我刚刚测试了2个小的torrent文件。 我不能说如果列表更长或下载大小更重,延迟会增加,新配方公式没有观察到这种行为。 但是,PHP文件为您提供保证,它将在任何支持PHP的操作系统中运行,我的新配方主要用于基于Linux的系统,它适用于Ubuntu并且可能在其他发行版中成功,基于Debian或Ubuntu,并且某些修改将允许它在其他非基于Debian / Ubuntu的发行版中取得成功。
祝好运!
新食谱
好的我有这个案例的新配方,我承认它得到了我的全部注意,即使我不经常使用传输。
食谱
配料
- 传输-gtk(以某种方式安装,从软件包,终端等)
- 传输-cli(sudo apt-get install transmission-cli,提供密码,等待安装完成。)
- 剧本 。 (煮熟了)
制备
- 让我们准备我们的传输,以便从外部接收Web客户端请愿,这样我们就可以监控我们程序中发生的事情。 让我们打开传输并转到“Web”选项卡,以启用“启用Web客户端”复选框,如下一屏幕截图所示。
(默认值将完美地完成)
- 让我们打开我们最喜欢的文本编辑器,以创建一个名为
byebye.sh
的文件,让我们将下一个内容放在里面。 (见这里的脚本)
现在,让我们找到bybye.sh文件,并通过在终端sudo chmod a+x bybye.sh
输入或通过在Nautilus中输入文件属性并激活“允许执行文件作为程序”复选框来为其提供正确的执行权限。 “权限”如下一个屏幕截图所示。
- 一旦我们编写了脚本,让我们在终端drop中安装
transmission-cli
:sudo apt-get install transmission-cli
,按Enter键并提供密码,然后安装软件。
品尝时间
在终端中,丢弃transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l
transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l
transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l
之后结果可能因具体情况而异,具体取决于待传输或当前正在传输的种子数量。 如果结果不同于0
我们就在路上。 如果您收到0
并且正在下载或正在排队,则必须从头开始检查配方。 如果您收到错误,请将其放在评论中以提供支持。
- 如果一切顺利,现在让我们指示传输在每次完成torrent时运行脚本。 冷静! 请冷静…脚本将在每次完全下载torrent时运行,但只有在下载结果等于零时才会触发终止传输的操作。 这种有条件的方式让我们感到安静,传输不会在每次下载时关闭。 为方便起见,提供了屏幕截图:
瞧! 配方可以大量提供,并与您的所有下载相结合。 如果上次下载成功,传输将关闭。
一些警告
如果传输只有一个待处理操作,并且下载在软件打开的那一刻结束,则传输将在打开后立即关闭。
名词解释:
killall -9 transmission
=将以平缓模式关闭传输,以便每次关闭时都不会收到错误消息。 通过简单地使用killall transmission
将以粗鲁的方式关闭它,因此软件将报告严重故障。
现在,在服务配方时,请确保在桌面上加入一杯含有优质古巴朗姆酒的玻璃杯……
祝好运!