rsync n'est valable que si vous avez rsync sur le serveur de destination. Dans ce cas, c'est en effet la meilleure solution.
Mais pas autrement. Puisque le but de rsync est de ne copier que les pièces modifiées dans de gros fichiers, il suppose que ces pièces modifiées peuvent se trouver n'importe où dans le fichier. Cela signifie qu'il vérifiera tous les blocs qui ont déjà été copiés. Si vous n'avez pas rsync à l'extrémité distante, votre rsync local commencera donc par relire tout ce qui a déjà été transféré.
Si votre machine source a un serveur web ou ftp, vous pouvez utiliser wget depuis le serveur de destination avec l'option "--continue". (ou boucle avec l'option "--continue-at [- | size]").
Si votre machine de destination possède un serveur FTP, vous pouvez utiliser curl sur la machine source avec l'option --append.
En dernier recours, vous pouvez utiliser dd avec les arguments "bs =" (taille de bloc), "skip =" et "seek =". Par exemple:
Supposons que vous puissiez utiliser des blocs de 2048 octets. Si votre fichier de destination est actuellement de 2'048'000'000 octets (2 Go), soit 1'000'000 blocs de 2048 octets. Pour ajouter le reste de votre fichier source à la destination, vous pouvez
dd if = fichier_source de = fichier_destination bs = 2048 ignorer = 1000000 rechercher = 1000000
Vous pourrez peut-être utiliser une taille de bloc plus grande pour améliorer la vitesse de transfert. N'oubliez pas de spécifier la taille du bloc avec bs = et que la valeur donnée pour ignorer et rechercher est en blocs, pas en octets.