Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/01/2009, à 18:36

pmd

[wget] Gestionnaire de téléchargements

Hello smile

Je suis en train de concocter un nouveau script donc je viens le partager smile
Il sert à télécharger une suite de fichier sans avoir à relancer wget à la fin d'un fichier terminé.

Tout d'abord voici le script :

#!/bin/bash
# By pmd - http://pmdz.info
# But : Télécharger une série de fichier
# Paquets requis : wget
# Licence : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
#           Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique

# Configuration
FICHIER_LISTE="/home/pmd/dl"

LIGNE_NUMERO=1
NOMBRE_LIGNE=$(wc -l <"$FICHIER_LISTE")

while [ $LIGNE_NUMERO -le $NOMBRE_LIGNE ]; do
    {
        LIGNE=$(cat "$FICHIER_LISTE" -T | sed 's%\^I%%g' | head -n $LIGNE_NUMERO | tail -n 1)

        STATUT=$(echo $LIGNE | sed 's% %%g' | awk -F "#" '{print $2}')
        LIEN=$(echo $LIGNE | awk -F "#" '{print $3}')
        NOM_FINAL=$(echo $LIGNE | awk -F "#" '{print $4}')

        if [ "$STATUT" == "enattente" ]; then
            {
                sed -e $LIGNE_NUMERO"s%enattente%encours%" -i $FICHIER_LISTE
                
                wget -c "$LIEN" -O "$NOM_FINAL"
                
                sed -e $LIGNE_NUMERO"s%encours%---fait%" -i $FICHIER_LISTE
                
                LIGNE_NUMERO=1
            }
        else
            {
                #echo "$LIEN déjà télécharger" 
                LIGNE_NUMERO=$((LIGNE_NUMERO+1))
            }
        fi
        NOMBRE_LIGNE=$(wc -l <"$FICHIER_LISTE")
    }
done

Et voilà le fichier /home/pmd/dl :

### Forme :

#option	#http://lien	#/chemin/d/enregistrement/du/fichier.rar		#Commentaires pour s'y retrouver


### 'option' doit valoir 'enattente' pour être téléchargé. Autre valeur rencontrée :
### enattente
### ---fait 
### encours
### plustard
### ce que vous voulez ...

#enattente	#http://dl.free.fr/eEAruZIvH	#/media/sdb1/fichier.part1.rar		#Partie 1 du fichier

Exemple pour télécharger Fichier :

### Forme :

#option	#http://lien	#/chemin/d/enregistrement/du/fichier.rar		#Commentaires pour s'y retrouver


### 'option' doit valoir 'enattente' pour être téléchargé. Autre valeur rencontrée :
### enattente
### ---fait 
### encours
### plustard
### ce que vous voulez ...

#---fait	#http://dl.free.fr/eEAruZIvH	#/media/sdb1/fichier.part1.rar		#fichier.mkv
#---fait	#http://dl.free.fr/epqjqrM7J	#/media/sdb1/fichier.part2.rar
#encours	#http://dl.free.fr/exXv5Mpgf	#/media/sdb1/fichier.part3.rar
#encours	#http://dl.free.fr/eYnySlTSm	#/media/sdb1/fichier.part4.rar
#enattente	#http://dl.free.fr/emyVhbOBh	#/media/sdb1/fichier.part5.rar
#enattente	#http://dl.free.fr/exFseMONy	#/media/sdb1/fichier.part6.rar
#enattente	#http://dl.free.fr/etlJxvm4d	#/media/sdb1/fichier.part7.rar

Là, le script a été lancé deux fois. Deux fichiers sont en téléchargement et les autres sont en attente.

Pour lancer le script :

sh /chemin/du/script.sh

Hors ligne

#2 Le 27/01/2009, à 20:04

Respawner

Re : [wget] Gestionnaire de téléchargements

C'est dans le même genre la commande suivante ?

wget -i fichier-de-liens

Hors ligne