<h1id="unraid-mover-and-qbittorrent">unRAID Mover and qBittorrent<aclass="headerlink"href="#unraid-mover-and-qbittorrent"title="Permanent link"></a></h1>
<p>When you make use of the unRAID cache drive for your <code>/data/torrents</code> share, and the torrents in qBittorrent are still seeding, the mover can't move files since they are still in use.</p>
<p>Using the following instructions will allow you to move the files with the use of the qBittorrent API.</p>
<p>Using the following instructions will allow you to move the files using the qBittorrent API.</p>
<p>First, you need to choose a location to start a new Python environment.</p>
<divclass="admonition info">
<pclass="admonition-title">Info</p>
<p>In the next steps, you will be asked to choose a <ahref="#copy-the-script-to-your-preferred-location">location to store the script</a>, try to be consistent.</p>
<p>In the next steps, you will be asked to choose a <ahref="#copy-the-script-to-your-preferred-location">location to store the script</a>; please try to be consistent.</p>
</div>
<p>Suggestions:</p>
<ul>
@ -3631,7 +3636,7 @@ deactivate<span class="w"> </span><span class="c1"># to leave the environment</s
<h4id="copy-the-script-to-your-preferred-location">Copy the script to your preferred location<aclass="headerlink"href="#copy-the-script-to-your-preferred-location"title="Permanent link"></a></h4>
<p>Place the script you just edited somewhere easy to access/remember.</p>
<p>Place the qBit-Mover script somewhere easy to access/remember.</p>
@ -3649,7 +3654,7 @@ deactivate<span class="w"> </span><span class="c1"># to leave the environment</s
<p><aclass="glightbox"href="../images/Unraid-settings-user-scripts-list-select-qbit-mover.png"data-type="image"data-width="100%"data-height="auto"data-desc-position="bottom"><imgalt="!Select user script"src="../images/Unraid-settings-user-scripts-list-select-qbit-mover.png"/></a></p>
<p>Choose your method (select a tab) and copy/paste the script in the new window that opens, then click <code>SAVE CHANGES</code>.</p>
<divclass="admonition info">
<pclass="admonition-title">replace <code>ip</code> with your unraid server ip, replace <code>port</code> with your webgui port you use to access the webgui</p>
<pclass="admonition-title">replace <code>ip</code> with your unraid server ip, replace <code>port</code> with your qBittorrent WebGUI port you use to access the qBittorrent WebGUI</p>
@ -3675,16 +3680,15 @@ deactivate<span class="w"> </span><span class="c1"># to leave the environment</s
</div>
</div>
<divclass="admonition info">
<pclass="admonition-title">Info</p>
<p>Replace <code>/mnt/user/data/scripts/</code> in the script with the path you have chosen for the Python script.</p>
<pclass="admonition-title">Replace <code>/mnt/user/data/scripts/</code> in the script with the path you have chosen for the Python script (qBit-Mover script).</p>
</div>
<ul>
<li><code>--days_from</code> => Set Number of Days to stop torrents <strong>from</strong> for the move.</li>
<li><code>--days_to</code> => Set Number of Days to stop torrents <strong>to</strong> for the move.</li>
<li><code>--host</code> => Replace ip with your unraid server ip, replace port with your webgui port you use to access the webgui.</li>
<li><code>--host</code> => Replace ip with your unraid server ip, and replace <code>port</code> with your qBittorrent WebGUI port you use to access the qBittorrent WebGUI.</li>
<li><code>--user</code> => Your used qBittorrent <code>User Name</code> if you have authentication enabled.</li>
<li><code>--password</code> => Your used qBittorrent <code>Password</code> if you have authentication enabled.</li>
<li><code>--cache-mount</code> => Cache mount point in Unraid. This is used to additionally filter for only torrents that exists on the cache mount. Use this option ONLY if you follow TRaSH Guides folder structure. (For default cache drive set this to <code>/mnt/cache</code>)</li>
<li><code>--cache-mount</code> => Cache mount point in Unraid. This is used to additionally filter for only torrents that exist on the cache mount. Use this option ONLY if you follow the TRaSH Guides folder structure. (For default cache drive set this to <code>/mnt/cache</code>)</li>
<h1id="replace-copies-with-hardlinks">Replace copies with hardlinks<aclass="headerlink"href="#replace-copies-with-hardlinks"title="Permanent link"></a></h1>
<p>You recently switched to a proper setup that supports Hardlinks and Instant Moves (Atomic-Moves).</p>
<p>And you would like to replace copies with hardlinks ?</p>
<p>Have you recently switched to a setup that supports hardlinks and Instant Moves (Atomic-Moves), and would like to replace duplicate files with hardlinks?</p>
<p>If your Operating System supports it you could make use of <ahref="https://codeberg.org/jbruchon/jdupes">Jdupes</a>.</p>
<p>This process can take a long time and a pretty big hit on your resources depending on the size of your library. We did notice the first time can take longer than the second time, this may be due to some sort of caching behavior on disk.</p>
<ul>
<li>That's why we suggest doing it based on categories (Movies, TV, Music etc).</li>
<li>That's why we suggest doing it based on categories (Movies, TV, Music, etc).</li>
<li>We don't suggest using this on a cloud-based setup.</li>
<pclass="admonition-title">Folder paths should be changed to match what you're using in your setup</p>
</div>
<hr/>
<divclass="admonition bug">
<p>Windows allows a maximum of 1023 hard links per file</p>
<pclass="admonition-title">Windows allows a maximum of 1023 hard links per file</p>
</div>
<divclass="admonition warning">
<pclass="admonition-title">Warning</p>
<p>The <code>-Q</code> or <code>--quick</code> option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned!</p>
<pclass="admonition-title">The <code>-Q</code> or <code>--quick</code> option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned!</p>