Prokopy Posté(e) le 17 juillet 2014 Posté(e) le 17 juillet 2014 (modifié) J'ai actuellement un NAS Ds213j et un serveur Kimsufi de chez OVH avec une seedbox installée dessus. J'aimerai installer une récupération automatique de mes fichiers de ma seedbox vers mon NAS. (Pourquoi pas programmer les heures de récupérations) J'ai bien entendu un accès SSH. J'ai trouvé beaucoup d'éléments de réponses sur internet mais rien de très clair à mes yeux. Si vous avez des réponses à m'apporter pour une mise en place d'un tel système, c'est partis Merci d'avance. Modifié le 17 juillet 2014 par Prokopy 0 Citer
Vinky Posté(e) le 18 juillet 2014 Posté(e) le 18 juillet 2014 Que penses-tu de la solution du flux RSS ? (c'est la solution que j'ai choisi) 0 Citer
Prokopy Posté(e) le 18 juillet 2014 Auteur Posté(e) le 18 juillet 2014 Le soucis c'est que je sais pas trop comment m'y prendre :/ 0 Citer
Prokopy Posté(e) le 19 juillet 2014 Auteur Posté(e) le 19 juillet 2014 (modifié) D'accord donc ce script a moi de le modifier avec mes paramètres, à le mettre sur mon serveur Kimsufi est à l'exécuter dans DLStation en tant que flux RSS ? <?php //Utilisation : <-----------URL------------>/rss.php?dossier=<NOM_DU_DOSSIER>//Si le paramêtre dossier n'est pas mis, le dossier par défaut est listé./********************************//* CONFIGURATION *//********************************/ $physical_path = '/var/www/'; // Dossier à lister par défaut (ex : /var/www/download) $max = 20; //Nombre de fichiers à afficher dans le flux RSS $site = 'https://127.0.0.1'; // IP ou NDD (http://<IP> ou htps://<IP> ou ftp://<IP> etc... utilisé pour télécharger les fichiers) $nomDePage = 'Le flux RSS de mon site';// Nom affiché $lienInterne = '/var/www/'; //position non affiché dans l'url (ex : /var/www/download/fichier.ext et url = http://<IP>/download/fichier.ext, mettre /var/www/ dans ce champs car non présent dans l'url)$tempsAttente = 300; //Temps (en s) sans que le fichier soit modifié avant de le lister. (si trop rapide, il peut apparaître alors que le fichier n'est pas fini de téléchargé).//VOIR LIGNE 100 POUR INDIQUER LES EXTENSIONS AUTORISES : // Ajouter '|| get_file_icon($file)=="ext"' (sans les '') avant la fin de la parenthèse avec ext, l'extension que l'on veut qui soit listé/********************************//* FONCTIONS *//********************************/ $excludeFiles = array(".", "..", ".htaccess", ""); // Liste des fichiers ignorés dans le listing/** * Récupère récursivement le contenu d'un répertoire * et le retourne sous forme d'array * @param $directory Le répertoire à traiter **/function recursive_directory_tree($directory = null){global $excludeFiles;//If $directory is null, set $directory to the current working directory.if ($directory == null) {$directory = getcwd();}//declare the array to return$return = array();//Check if the argument specified is an arrayif (is_dir($directory)) {//Scan the directory and loop through the resultsforeach(scandir($directory) as $file) {//. = current directory, .. = up one level. We want to ignore both.if ($file[0] == ".") {continue;}//Exclude some specified filesif (in_array($file, $excludeFiles)) {continue;}//Check if the current $file is a directory itself.//The appending of $directory is necessary here.if (is_dir($directory."/".$file)){//Create a new array with an index of the folder name.$return[$directory."/".$file] = recursive_directory_tree($directory."/".$file);}else{//If $file is not a directory, just add it to th return array.$return[] = $directory."/".$file;}}}else{$return[] = $directory;}return $return;}/** * Stock dans un tableau tous les fichiers video présents dans le repertoire mis en pareamètre **/function liste($dossier){global $tabTrie;foreach ($dossier as $file) {if ( is_array($file) ){liste($file);}else{if(get_file_icon($file)=="mp4" || get_file_icon($file)=="mkv" || get_file_icon($file)=="avi" ){array_push($tabTrie, $file);}}}}/** * Convertit la taille en Xo * @param $fs La taille à convertir */function convert_size($fs){if ($fs >= 1073741824)$fs = round($fs / 1073741824 * 100) / 100 . " Go";elseif ($fs >= 1048576)$fs = round($fs / 1048576 * 100) / 100 . " Mo";elseif ($fs >= 1024)$fs = round($fs / 1024 * 100) / 100 . " Ko";else$fs = $fs . " o";return $fs;}/** * Retourne l'extention d'un fichier en fonction de son type * @filename Le nom du fichier à considérer */function get_file_icon($filename){return pathinfo($filename, PATHINFO_EXTENSION);}/** * Retourne le mime d'un fichier * @filename Le nom du fichier à considérer */function mime_file($filename){ $finfo = finfo_open(FILEINFO_MIME_TYPE); // Retourne le type mime à la extension mimetype $mime=finfo_file($finfo, $filename); finfo_close($finfo); return $mime;}/********************************//* FONCTIONS *//********************************/ $entete = '<?xml version="1.0" encoding="ISO-8859-1"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <atom:link href="'.$site.'/rss.php" rel="self" type="application/rss+xml" /> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /> <title>'.$nomDePage.'</title> <link>'.$site.'</link> <language>fr-FR</language> <description>Liste des nouveaux fichiers</description> '; $pied = '</channel> </rss>'; if(isset ($_GET['dossier'])) $physical_path = $physical_path.'/'.$_GET['dossier']; $current_dir = array(); $tab= array(); $tabSize = array(); $tabTrie= array(); $current_dir = recursive_directory_tree($physical_path); liste($current_dir); foreach ($tabTrie as $key => $fichier) { $time = filemtime($fichier); $actualTime = time(); $date = date("F d Y H:i:s.", filemtime($fichier)); if($fichier != '.' && $fichier != '..' && $fichier != 'index.php') { $tab["$fichier"] = $time; $taille=filesize($fichier); $tabSize["$fichier"] = $taille; } } array_multisort($tab, SORT_DESC, $tabSize); echo $entete; $nombre = 1; foreach ($tab as $fichier => $heure) { $nom = basename($fichier); $extension = get_file_icon($fichier,TRUE); $nom = str_replace(".$extension", "" , $nom); $nom = str_replace(".", " " , $nom); /********************************/ /* RENOMMAGE */ /********************************/ if(substr_count(strtoupper($nom), strtoupper(" epz")) > 0) { $nom = str_replace("epz-", "" , $nom); } if(substr_count(strtoupper($nom), strtoupper(" HDTV")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("VTDH"))+5)); } if(substr_count(strtoupper($nom), strtoupper(" PDTV")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("VTDP"))+5)); } if(substr_count(strtoupper($nom), strtoupper(" WEB")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("BEW"))+4)); } if(substr_count(strtoupper($nom), strtoupper(" XVID")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("DIVX"))+5)); } if(substr_count(strtoupper($nom), strtoupper(" LD")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("DL"))+3)); } if(substr_count(strtoupper($nom), strtoupper(" DC")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("CD"))+3)); } if(substr_count(strtoupper($nom), strtoupper(" x264")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("462x"))+3)); } if(substr_count(strtoupper($nom), strtoupper(" bluray")) > 0) { $nom = strrev($nom); $nom = strrev(substr($nom,strpos(strtoupper($nom),strtoupper("yarulb"))+7)); } $nom = ucwords(mb_strtolower($nom)); $nom = str_replace ( "French" , "FRENCH", $nom); $nom = str_replace ( "Vostfr" , "VOSTFR", $nom); $nom = str_replace ( "e0" , "E0", $nom); $nom = str_replace ( "e1" , "E1", $nom); $nom = str_replace ( "e2" , "E2", $nom); $nom = $nom." [$extension]"; /********************************/ /* RENOMMAGE */ /********************************/ if(($actualTime-$heure) > $tempsAttente) { if ($nombre <= $max) { echo('<item> <title>'.$nom.'</title> <description>'.$nombre.' | Format : '.$extension.' | Date d'ajout : '. date("d/m/Y H:i:s", $heure).' | Taille : '.convert_size($tabSize["$fichier"]).'</description> <pubDate>'.date("D, d M Y H:i:s", $heure).'</pubDate> <link>'.$site.str_replace($lienInterne, "" ,$fichier).'</link> <enclosure length="'.$tabSize[$fichier].'" type="'.mime_file($fichier).'" url="'.$site.str_replace($lienInterne, "" ,$fichier).'" /> </item> '); $nombre++; } } } echo $pied; ?> Je me permet de poser deux trois questions sur le renommage pour être sur : //Utilisation : <-----------URL------------>/rss.php?dossier=<NOM_DU_DOSSIER> URL = Ip de mon serveur ou chemin d’accès a ma seedbox ? Nom du dossier = Dossier dans lequel se trouve mon script ? $physical_path = '/var/www/'; // Dossier à lister par défaut (ex : /var/www/download) Ici je mes ou est situé le répertoire de téléchargement de ma seedbox ? $site = 'https://127.0.0.1'; // IP ou NDD (http://<IP> ou htps://<IP> ou ftp://<IP> etc... utilisé pour télécharger les fichiers) Et ici l'ip de mon serveur ? Je te remercie d'avance pour ton aide ! Modifié le 19 juillet 2014 par Prokopy 0 Citer
Vinky Posté(e) le 19 juillet 2014 Posté(e) le 19 juillet 2014 1. URL c'est le lien web d'accès sur le fichier php que tu auras enregistré. C'est elle qui te permettra d'accéder à ton flux rss à distance. Nom du dossier n'est pas obligatoire. C'est pour lister uniquement un sous répertoire 2. Exactement 3. C'est ça ou ton nom de domaine si tu en as un (kimsufi en fournissent) 0 Citer
Prokopy Posté(e) le 19 juillet 2014 Auteur Posté(e) le 19 juillet 2014 Donc normalement en ayant uploadé le script a la racine de mon serveur et en allant sur : http://IPKIMSUFI/rss.php, ça devrait marcher ? Si oui, ce ne marche pas :/ 0 Citer
Vinky Posté(e) le 19 juillet 2014 Posté(e) le 19 juillet 2014 (modifié) la racine de ton serveur n'est pas la racine de ton serveur web. (par défaut si apache, la racine du serveur web c'est "/var/www/") PS : Tu as bien un serveur Web d'installé ainsi que php5 ? Modifié le 19 juillet 2014 par Vinky 0 Citer
Prokopy Posté(e) le 19 juillet 2014 Auteur Posté(e) le 19 juillet 2014 Ha d'accord ! J'ai ma kimsufi d'installée avec debian 6 squeeze dessus. Rien de plus à part la seedbox. Donc je sais pas si de base ca installe apache. 0 Citer
Vinky Posté(e) le 20 juillet 2014 Posté(e) le 20 juillet 2014 Je ne pense pas Il te faut donc Apache et php5 Après à toi de voir quels sont les liens de tes fichiers que tu fournira (http ou FTP par exemple) 0 Citer
Prokopy Posté(e) le 20 juillet 2014 Auteur Posté(e) le 20 juillet 2014 Un petit récap' des choses déjà faites pour être sur que je n'ai pas fais d'erreur : J'ai installé Apache et php5 et j'ai mis mon fichier rss.php dans /var/www/. Maintenant quand je me rend sur http://IPKIMSUFI/rss.php ça me télécharge le fichier. C'est mieux ? Il y a t'il quelque chose à modifier ici ; $nomDePage = 'Le flux RSS de mon site';// Nom affiché $lienInterne = '/var/www/'; //position non affiché dans l'url Ensuite si tout est bon, je n'est plus qu'a me rendre sur DLstation et rajouter ceci : http://IPKIMSUFI/rss.php en flux RSS et cela devrait fonctionner ? Merci encore de ton aide. 0 Citer
Vinky Posté(e) le 20 juillet 2014 Posté(e) le 20 juillet 2014 Ce n'est pas sensé te telecharger le fichier normalement. (Il faut le tester sous Firefox par exemple) Pour les deux questions : 1. C'est qu'un affichage quand tu lances ton flux rss (aucun impact sur le fonctionnement) 2. Cela sert si par exemple tes fichiers sont dans /var/www/downloads (var/www/ sera retiré du lien du fichier car n'apparait pas dans l'url) Mais tu peux mettre ce que tu veux en fonction de tes preferences (ça peut être un lien FTP si tu préfères) 0 Citer
Prokopy Posté(e) le 20 juillet 2014 Auteur Posté(e) le 20 juillet 2014 En faite ce que je n'ais pas bien compris c'est comment relier le script à DLStation. 0 Citer
Vinky Posté(e) le 20 juillet 2014 Posté(e) le 20 juillet 2014 Dans flux rss de download station. Il faudra que tu ajoutes le lien de ton flux rss et après tu peux soit tout récupérer soit faire des filtres pour ranger ce que tu veux où tu veux. 0 Citer
Prokopy Posté(e) le 20 juillet 2014 Auteur Posté(e) le 20 juillet 2014 Quand je veux rajouter http://IPKIMSUFI/rss.php en flux RSS ça me met : "Le fichier RSSest vide ou incorrect" 0 Citer
Vinky Posté(e) le 20 juillet 2014 Posté(e) le 20 juillet 2014 Tu as surement fait une petite bétise. Vérifie que tu n'es pas retiré un ";" en fin de ligne ou même un " en moins. Si vraiment tu n'y parviens pas, on peut passer en MP pour que je regarde ce qui ne va pas. 0 Citer
Prokopy Posté(e) le 4 août 2014 Auteur Posté(e) le 4 août 2014 Bonsoir, je veux bien passer en mp car je suis toujours bloqué ! Merci d'avance si c'est toujours possible. 0 Citer
Vinky Posté(e) le 4 août 2014 Posté(e) le 4 août 2014 Envoie moi ton code (dans des balises ) Et je vais regarder ça 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.