0

Scenario:

Well the title says it all, I am trying to make a torrent server (on company clients) that are on other side of town so that I can get monthly backups of the SQL Server BAK files. Going there and getting it is an option, but its rather far, like few towns over and it wastes resources; time and energy.

Reason:

The reason I am not using FTP to get data is because of the internet. It's consumer internet on every branch ( 10 in total ) which means it maxes at around 4Mbps Downlink and 1Mbps Uplink with Electricity Blackouts every few hours. Using torrent will allow me to resume downloads/uploads.

Problem:

I have setup a test torrent server using uTorrent on one branch which will be uploading the BAK files to our File Server. Now do I have to regenerate torrent file every time a new BAK is generated in the folder or will it automatically add it self to the torrent file list? AFAIK by reading articles, it doesn't do that. I want that, to automatically update the files list so that I don't have to regenerate the torrent file every month manually. Is there a way to either automate the process or make uTorrent register new files?

Regards

EDIT: Also wanted to ask, which method should I prefer from below, or any other you guy can think of?

Case 1: Where I have to use utorrent's own tracker and give each location a fixed IP or Dynamic DNS setup like No-IP Case 1

Case 2: Where I can setup my own tracker and use this to seed via IP addresses Case 2

15
  • A torrent file has a verify specific format and the information about a torrent is specific to the data that it describes. As such you can't easily add and remove files from torrent. You will have to generate a new torrent file each month. You might be able to let the torrent clients pickup the torrent files automatically from a directory. – Seth May 16 '17 at 12:07
  • @Seth How about magnet URLs? – echo_salik May 16 '17 at 12:08
  • @Seth and how can I get the updated torrent file from a remote place, assuming no ftp server on branch? – echo_salik May 16 '17 at 12:15
  • What if I create my own tracker to track torrents and changes? I can use our file server for that. – echo_salik May 16 '17 at 12:19
  • If you look at the format specification you will find that it's just not meant to be used that way. If you look at the wiki example find why. There is information that is dependent on the contents. Did you instead consider using another tool like rsync or similar? FTP also supports the resume of uploads. – Seth May 16 '17 at 12:55
2

Using torrent consists of multiple different parts. Some of which depends on your actual implementation. Parts you would need to have a look at include:

  • Torrent files
  • Magnet URIs
  • Clients
  • Trackers
  • Peer exchange technologies like DHT

Torrent Files

A torrent file contains all the important meta information about the torrent. If you look at the Wikipedia article you can see a decoded example of a torrent file. Note that you have a list of files and the hashes of pieces. If you want to add a file to this structure you will need to modify both files. In this regard the Wikipedia article on the protocol might also be interesting. If you are using a torrent file you can't just add some data to it. If you do change this information you're going to change the hash value of the information section which is used to identify the torrent. As such you will create a new torrent. See also What exactly is the info_Hash in a torrent file.

Torrent Clients

Torrent Clients are part of the user side of using torrents. There are various clients available and some of them offer to automatically pickup torrent files from directories. An example here could be that you have a single file per backup that the other clients pickup. As torrent files are quite small it might be possible to have a script, a common share where they are stored or you might email them later on.

Magnet URIs

Again the Wikipedia article has quite a bit of information but is rather technical. Especially since it's not specific to BitTorrent (Magnet can be used for more). A good explanation is offered in How do BitTorrent magnet links work?. It's essentially the same as having a torrent file, it's just that you start with the info hash and need to find a peer who can hand you the actual torrent file.

Trackers

Trackers are rather dumb pieces of software. They only know which peers are interested in a particular info hash and share that information with other peers that are interested in that info hash (that's the basic idea). Piratically there is more to it as often a tracker would also offer an interface and/or might implement strategies to limit who can download. An example for a tracker software would be opentracker.

Peer Exchange Protocols

The technologies (mainly DHT nowadays from what I know) aim to replace trackers. Trackers are a single point of failure after all. So the idea (also describes in the magnet link question) is that you have a swarm that replace the tracker. But essentially it's the same process that is necessary.

7
  • as a test setup I am trying it over LAN with a tracker that is on the same lan, but I am getting very slow upload speeds, i.e in KBs instead of MBs as there is nothing limiting the speed. But why is this so? – echo_salik May 17 '17 at 13:58
  • This is the screenshot: imgur.com/a/8xpJq – echo_salik May 17 '17 at 14:06
  • I don't use µTorrent, maybe you limit the upload? Did you check the other settings that are available? – Seth May 17 '17 at 16:38
  • In case whoever downvotes comes along again, would you mind explaining what's wrong about the answer? – Seth May 17 '17 at 16:40
  • 1
    Don't swear, it's not productive. This answer might actually have issue and I still believe Torrent isn't the best approach for this. But as you seem to be rather set on using this, it just tries to clear up the terminology. Going by your Screenshot in the lower right there is an L which could indicate Limit. – Seth May 18 '17 at 5:32
1

Another option I came across: add a RSS server. There are plenty around, if you don't want to develop one.

  1. Generate monthly incremental backups.
  2. Generate a .torrent file for each incremental backup.
  3. Publish this .torrent file on your RSS application.
  4. Configure the Torrent clients to automatically add Torrents from that RSS url.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.