![새로운 레시피](https://rvso.com/image/1114972/%EC%83%88%EB%A1%9C%EC%9A%B4%20%EB%A0%88%EC%8B%9C%ED%94%BC.png)
Transmission-gtk에는 스크립트를 실행할 수 있는 옵션이 있습니다:편집 > 환경설정 > 다운로드 > 토렌트 완료 시 스크립트 호출.
최근에 제가 발견한 것은이 스크립트전송 중에 작동하게 만드는 방법을 모르겠습니다. 프로그램 설명에 따르면 스크립트는 시스템을 끄지는 않지만 모든 토렌트가 완료된 후 전송을 중단할 수 있습니다. 나는 체인을 연결할 수 있기 때문에 그것으로 충분합니다 "끄는 중" 에게 "전송 종료" 에 의해 &&
.
이제 전송 중인 PHP 스크립트를 실행하는 데 도움을 주실 수 있나요?
이것은 스크립트 작성자가 언급한 예입니다.
php.exe Transmission_Quit.php --port=9999 --hostname=192.168.0.1
; 이것은 무엇을 의미 하는가?! 어떻게 사용해야 하나요? "라고 지적해야 할까요?토렌트가 완료되면 스크립트 호출" 옵션을 직접적으로 선택하시겠습니까?
답변1
특정 PHP 스크립트를 실행하라는 원래 질문을 추적하기 위해 이 글을 남깁니다. 그러나 주요 문제를 해결하기 위해 새 레시피 섹션에 해결 방법이 제공됩니다.
이것을 시도해보고 결과를 알려주십시오. 그 후에 이 답변은 변경되거나 삭제될 수 있습니다.
특정 순간에 귀하의 비밀번호를 묻는 메시지가 나타날 수 있습니다.
- 우선, 터미널에 놓아 script.php라는 파일을 생성해 봅시다
sudo gedit script.php
(이 파일을 원하는 폴더에 놓아도 되지만 테스트 목적으로는 홈 폴더가 적합하다는 점을 기억하십시오). - 해당 파일에 언급하신 스크립트 내용을 복사/붙여넣어 보겠습니다. 파일을 저장하고 닫습니다.
이제 다음 두 줄을 터미널에 한 번에 한 줄씩 드롭하여 파일에 적절한 파일 권한과 실행 권한을 부여해 보겠습니다.
sudo chmod 755 script.php
sudo chmod a+x script.php
이제 터미널에 드롭하여 php5-cli를 설치
sudo apt-get install php5-cli
하고 터미널이 설치 프로세스를 완료할 때까지 기다립니다.
일단 설치되면 터미널에서 php5-cli
호출하여 스크립트를 테스트할 수 있지만 Transmission 내부에서 수행하는 것이 더 좋습니다.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는 예시 포트이지만 이 필드에는 웹 클라이언트 탭에서 정의한 것과 동일한 포트 번호를 작성해야 합니다.--hostname=192.168.0.1
= 전송 프로세스를 종료하려면 스크립트를 실행하려는 장비의 IP여야 합니다.
이로 인해 프로세스가 원격으로 호출될 수 있다고 생각되지만 특별한 경우에는 포트나 호스트 이름을 포함할 필요가 없도록 기본값을 사용할 것입니다. 간단히 script.php
터미널에서 파일을 실행하거나 전송을 통해 호출하면 컴퓨터에 적용되는 기본값( )이 사용됩니다 localhost
.
그럼 패스트푸드를 요리해 볼까요?
- 파일이 필요합니다. 파일 이름을 bye.sh로 지정하고 어딘가에 배치해 보겠습니다. 홈 폴더는 테스트 목적으로 사용하기에 좋은 장소입니다.
- 파일 내부에 다음을 삽입합니다(여기에 패스트 푸드 스크립트), 저장하고 닫은 후 실행 권한을 부여하세요. (참고로 이 답변으로 이동하여 방법을 찾아보세요).
- 그런 다음 전송 "다운로드" 탭 내에서 제공하되 다운로드가 완료되면 호출될 적절한 bye.sh 파일을 포함했는지 확인하세요.
그게 다야.어떻게 든 PHP 스크립트가 성공하고 있지만 다운로드가 완료된 후 약간의 지연이 관찰되었으며 방금 2개의 작은 토렌트 파일로 테스트했음을 설명해야 합니다. 목록이 길거나 다운로드 크기가 더 크면 지연이 증가할지 말할 수 없습니다. 이는 New Recipe 공식에서 관찰되지 않는 동작입니다. 그러나 PHP 파일은 PHP를 지원하는 모든 OS에서 실행될 것이라는 보증을 제공하며 내 새 레시피는 대부분 Linux 기반 시스템을 대상으로 하며 Ubuntu에서 작동하며 Debian 또는 Ubuntu 기반의 다른 배포판에서도 성공할 수 있습니다. 특정 수정을 통해 Debian/Ubuntu 기반이 아닌 다른 배포판에서도 성공할 수 있습니다.
행운을 빌어요!
새로운 레시피
좋습니다. 이 경우에 대한 새로운 방법이 있습니다. 전송을 자주 사용하지 않는 경우에도 그것이 내 관심을 끌었다는 것을 인정합니다.
조리법
재료
- Transmission-gtk(소프트웨어 백, 터미널 등에서 어떻게든 설치됨)
- 전송-cli(sudo apt-get 전송 전송-cli 설치, 비밀번호 제공, 설치가 완료될 때까지 기다림)
- 스크립트. (따로 요리)
준비
- 외부로부터 웹 클라이언트 청원을 수신하기 위해 전송을 준비합시다. 이렇게 하면 프로그램에서 무슨 일이 일어나고 있는지 모니터링할 수 있습니다. 다음 스크린샷에 표시된 것처럼 "웹 클라이언트 활성화" 확인란을 활성화하기 위해 전송을 열고 "웹" 탭으로 이동해 보겠습니다.
(기본값은 트릭을 완벽하게 수행합니다)
- 우리가 가장 좋아하는 텍스트 편집기를 열어서 이름이 지정된 파일을 만들고
byebye.sh
그 안에 다음 내용을 배치해 보겠습니다. (스크립트를 참조하세요.여기)
이제 bybye.sh 파일을 찾아서 터미널에 넣거나 sudo chmod a+x bybye.sh
노틸러스에 파일 속성을 입력하고 다음과 같이 "권한"에서 "프로그램으로 파일 실행 허용" 확인란을 활성화하여 적절한 실행 권한을 부여해 보겠습니다. 스크린샷.
- 스크립트를 완성한 후
transmission-cli
터미널 drop: 에 를 설치sudo apt-get install transmission-cli
하고 Enter 키를 누르고 비밀번호를 입력하면 소프트웨어가 설치됩니다.
시식 시간
터미널에서 드롭 transmission-remote --list | sed '1d;$d' | grep -v Done | wc -l
후 결과는 보류 중이거나 현재 전송 중 다운로드 중인 토렌트의 양에 따라 경우에 따라 달라질 수 있습니다. 결과가 0
우리가 가는 길 과 다를 경우 . 받았는데 0
다운로드 중이거나 대기열에 있는 경우 처음부터 레시피를 확인해야 합니다. 오류가 발생하면 지원을 위해 댓글에 오류를 남겨주세요.
- 모든 것이 잘 진행되고 있다면 이제 토렌트가 완료될 때마다 스크립트를 실행하도록 전송에 지시해 보겠습니다.진정하다!진정하세요... 스크립트는 토렌트 다운로드가 완전히 완료될 때마다 실행되지만 다운로드 결과가 0이 될 때만 전송을 종료하는 작업을 실행합니다. 이 조건부 방식은 다운로드할 때마다 전송이 종료되지 않는 평온함을 제공합니다. 귀하의 편의를 위해 스크린샷이 제공됩니다:
그리고 짜잔! 레시피는 다운로드한 모든 항목과 함께 넉넉한 양으로 제공될 수 있습니다. 마지막 다운로드가 성공하면 전송이 종료됩니다.
몇 가지 경고
전송에 보류 중인 작업이 하나만 있고 소프트웨어가 열리는 순간 다운로드가 완료되면 전송이 열리자마자 닫힙니다.
용어 사전:
killall -9 transmission
= 전송을 닫을 때마다 오류 메시지를 받지 않도록 부드럽게 모드로 전송을 닫습니다. 단순히 사용하면 killall transmission
무례한 방식으로 종료되므로 소프트웨어는 종료 실패를 보고합니다.
이제 레시피를 제공할 때 테이블에 훌륭한 쿠바 럼이 담긴 잔을 꼭 포함시켜 주세요.
행운을 빌어요!