1. 程式人生 > 實用技巧 >Ubuntu下qBittorrent種子備份(提取)

Ubuntu下qBittorrent種子備份(提取)

Ubuntu下安裝qBittorrent後,種子會自動儲存在/root/.local/share/qBittorrent/BT_backup目錄下

資料夾裡的檔案成對出現,字尾為.torrent和.fastresume

前者為原始種子檔案,後者記錄了種子的詳細資訊,包含tracker、新增時間、儲存位置、速度限制、上傳限制等

機器換了系統,重灌了bt軟體,種子太多,提取出來重新匯入並做種

分析.fastresume檔案,以下是一小段

qBt-tempPathDisabledi0e9:save_path10:/aqq/soul/9:seed_modei0e12:seeding_timei4372246e19

應該是冒號:起分割作用,前面的數字代表冒號後有幾個字元,e應該是表示結束位置

save_path表示儲存的位置

added_timei4212877e時間,從1970年開始的秒數

active_timei4212877活動時間,新增時間後開始算

只要知道儲存位置就夠了,原來的種子是一個分類存一個資料夾

用python把BT_backup這個資料夾裡的種子分類存

 1 # -*- coding: utf-8 -*-
 2 import os
 3 import re
 4 import shutil
 5 
 6 path = "C:\\Users\\Freya\\Desktop\\BT_backup"
 7 #新建種子分類資料夾
 8 tccf = os.path.join(path,'
tccf_seed') 9 if not os.path.exists(tccf): 10 os.mkdir(tccf) 11 12 filelist = os.listdir(path) #該資料夾下所有的檔案(包括資料夾) 13 count = 0 14 15 for file in filelist: 16 #.fast檔案的完整路徑 17 olddir = os.path.join(path,file) 18 #如果是資料夾則跳過 19 if os.path.isdir(olddir): 20 continue 21 #是fastresume檔案
22 if os.path.splitext(file)[1]=='.fastresume': 23 f = open(olddir, 'rb') 24 file2text = f.read().decode('utf-8', 'ignore') 25 f.close() 26 #modify /aqq 27 mo_league = re.compile(r'/aqq/ccf/').search(file2text) 28 if mo_league != None: 29 #.torent檔案的完整路徑 30 torrentdir = os.path.join(path,os.path.splitext(file)[0] + '.torrent') 31 #move to each 32 shutil.move(olddir, tccf) 33 shutil.move(torrentdir, tccf) 34 count += 1 35 print(count)

要注意的問題:

.fastresume檔案開啟會有一段亂碼,python程式碼裡需要忽略這些位置

快速恢復檔案和種子要一起移動