पहले से ही (यानी नया नहीं) चालें फ़ाइलों को पूरा करें


13

मैं एक निर्देशिका के साथ थोड़ी देर के लिए rtorrent का उपयोग कर रहा हूं। अब मुझे लगा कि विभिन्न निर्देशिकाओं का उपयोग करना संभव है और यहां तक ​​कि पूर्ण डाउनलोड को कहीं और स्थानांतरित करना संभव है, इसलिए रटोरेंट विकी के अनुसार मैंने अपने myrtorrent.rc को निम्नानुसार संपादित किया:

# Download directory
directory = /Medias/torrents/

# Watching directories
schedule = watch_directory_1,5,60,"load_start=/path/to/dl/dir1/*.torrent,d.set_custom1=/path/to/done/dir1"
schedule = watch_directory_2,5,60,"load_start=/path/to/dl/dir2/*.torrent,d.set_custom1=/path/to/done/dir2"

# On completion, move the torrent to the directory from custom1.
system.method.set_key = event.download.finished,move_complete,"d.set_directory=$d.get_custom1= ;execute=mv,-u,$d.get_base_path=,$d.get_custom1="

यह नए टॉरेंट के लिए काम करता है। हालाँकि, मेरे पास पूर्ण फ़ाइलों का एक गुच्छा है जो मैंने पहले ही निर्देशिकाओं को विभाजित करने के लिए डाउनलोड कर लिया है, और उनके लिए यह काम नहीं करता है: यदि मैं सत्र निर्देशिका में उनकी फ़ाइल को हटा देता हूं, तो rtorrent hash की जाँच करेगा, लेकिन उन्हें स्थानांतरित नहीं करेगा, और यदि मैं उन्हें अपने आप से घुमाएँ, rtorrent उन्हें नहीं देखेगा और उन्हें छुड़ाने की कोशिश करेगा।

तो मैं उन्हें या तो स्थानांतरित करने के लिए कैसे कह सकता हूं या वे किसी अन्य निर्देशिका में हैं?

धन्यवाद।

जवाबों:


14

ठीक है, बस यह पता लगा। Rtorrent के भीतर आप Ctrl+ का उपयोग करके कमांड लाइन खोल सकते हैं X। आप वहां से कई चीजें कर सकते हैं (मुझे लगता है कि यह बुनियादी नियम प्रबंधन है), जैसे चीजों को प्रिंट करना ( print=$variable=जैसे, उदाहरण के लिए print=$d.get_directory=, कमांड निष्पादित करना execute=command), या चर ( variable=newvalue) सेट करना ।

इस संकेत से आप तैयार धार को कहीं और स्थानांतरित कर सकते हैं, लेकिन ध्यान दें कि यह न तो आवश्यक है और न ही पर्याप्त (नीचे देखें)। उदाहरण के लिए, मूल प्रश्न में दिए गए .rtorrent.rc फ़ाइल से उदाहरण का उपयोग कर:

execute=mv,-u,$d.get_base_path=,$d.get_custom1=

हालांकि, यह आदेश धार को बीज को जारी रखने से रोक देगा, यही कारण है कि यह पर्याप्त नहीं है। सीडिंग जारी रखने के लिए, आपको अभी भी इस कमांड प्रॉम्प्ट से, इस टोरेंट के लिए डाउनलोड निर्देशिका को नए स्थान पर सेट करना चाहिए:

d.set_directory=/path/to/new/directory/

अंत में, executeकमांड आवश्यक नहीं है: आप टोरेंट को अपनी इच्छानुसार स्थानांतरित कर सकते हैं (जैसे कि बाहर की ओर), जब तक आप नई निर्देशिका को ऊपर बताए अनुसार सेट करते हैं।

उसके बाद Ctrl+ का उपयोग करके धार (यदि इसे [CLOSED] के रूप में चिह्नित किया गया है) को फिर से खोलना आवश्यक हो सकता है R


2
सही क्रम FIRST है नई निर्देशिका सेट करें, फिर इसे स्थानांतरित करें, btw। और आप "method.insert" के माध्यम से एक शॉर्टहैंड कमांड जोड़ सकते हैं, जो उपरोक्त दोनों चरणों को करता है।
pyroscope

@pyroscope निर्देशिका को पहले "सही" क्यों सेट किया गया है? यह मुझे लगता है कि आप यह देखने के लिए इंतजार करना चाहते हैं कि क्या mvनिर्देशिका को अपडेट करने से पहले आप सफल हैं।
g33kz0r

2
नेवरमाइंड, मेरे अपने प्रश्न का उत्तर दिया: <Fault -503: 'Cannot change the directory of an open download atter the files have been moved.'>
g33kz0r

0

अगर आपको सीमल से एलर्जी नहीं है, तो एक तरीका है rtmv


इस विशेष मामले के लिए मुझे अपना समाधान क्लीनर मिल गया है, लेकिन आपके लिंक में काफी दिलचस्प कमांड हैं। धन्यवाद।
स्किप्पी ले ग्रांड गौरौ

0

बैश स्क्रिप्ट के रूप में:

संपादित करें, जब mv -u $old $newविफल हो जाता है, तो पूरी कमांड विफल हो जाती है।
मैंने qBitTorrent के लिए rTorrent को छोड़ दिया।

#!/bin/bash
#
# move files in rTorrent
# with rtxmlrpc from pyrocore
#
# 1. select all torrents from view $view
# 2. print old d.base_path
# 3. set new d.directory
#    torrent is closed
#    d.base_path is still old d.base_path
# 4. move old files to new dir
# 5. open torrent
#    d.base_path is set to new path
# 6. save output to text file

view='complete'
dest="/home/rtorrent/$view/"

# escape double quotes
dest=$(echo "$dest" | sed 's/"/\\"/g')

rtxmlrpc d.multicall2 '' "$view" \
  'd.base_path=' \
  "d.directory.set=\"$dest\"" \
  "execute=mv,-u,(d.base_path),\"$dest\"" \
  'd.open=' \
| tee rtxmlrpc.$(date +%s).txt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.