scripts/dl_plowshare.sh

146 lines
4.4 KiB
Bash
Raw Normal View History

2016-10-14 09:40:07 +02:00
#!/bin/bash
################################################################################################
##
## Nom: dl_plowshare.sh
##
## Version: 0.1
##
## Licence: Creative Commons
##
## Comportement: Analyse un répertoire pour savoir si il contient un fichier .down qui
## contiendra des liens ddl (megaupload, DL_FILE). Créée un dossier du même nom que le fichier et
## y télécharge les liens qu'il contient avec plowshare. Change ensuite l'extension du fichier
## en .old pour qu'il ne soit pas retéléchargé.
##
## /!\ Changer la variable DL_DIR /!\
##
## Appliquer une tache cron du style:
## */2 * * * * /chemin/script/dl_plowshare.sh
##
##
##
################################################################################################
##
## Date de création: 03-10-2011
##
## Auteur: Gardouille
##
##
## Dernière modifications:
## 03-10-2011 - 0.1:
## -
# **********************************************************************************************
## //2011 - :
## -
## -
# **********************************************************************************************
##
## À modifier:
## - Possibilité de récupérer le répertoire à analyser en argument
##
##
################################################################################################
# **********************************************************************************************
#
# Variables globales
#
# -----------------------------------------------------------
# Fichier temporaire pour savoir si le script est déjà en cours
TMP_FILE="/tmp/dl_plowshare"
# Répertoire à analyser pour trouver un fichier contenant une liste de lien
DL_DIR="/media/data/download/ddl"
# Nom du fichier (sans l'extension) contenant les liens à télécharger
#BASE_DL_FILE=""
# Extension de fichier à analyser
EXTENSION="down"
# Fin des variables globales
# -----------------------------------------------------------
# **********************************************************************************************
# **********************************************************************************************
#
# Fichiers globaux
#
# -----------------------------------------------------------
#
# Fin des fichiers globaux
# -----------------------------------------------------------
# **********************************************************************************************
# **********************************************************************************************
#
# Fonctions globales
#
# -----------------------------------------------------------
# Divers echos DL_FILE
echoi() { echo " (ii) $*" >> "${log}" ; }
echok() { echo " (ok) $*" >> "${log}" ; }
echow() { echo " (!!) $*" >> "${log}" ; }
echnk() { echo " (EE) $*" >> "${log}" ; }
# Fin des fonctions globales
# -----------------------------------------------------------
# **********************************************************************************************
# **********************************************************************************************
#
# Programme principale
#
# -----------------------------------------------------------
## Vérifier que le script n'est pas déjà en cours
if [ ! -f "${TMP_FILE}" ]; then
## Créer un fichier temporaire pour indiquer que le script est en cours d'exécution
touch "${TMP_FILE}"
## Se placer dans le dossier à analyser
pushd "${DL_DIR}" > /dev/null
## Analyser le dossier pour récupérer UN fichier .down (nom de base + extension)
DL_FILE=`\ls | \grep ."${EXTENSION}"|head -n 1`
## Récupérer le nom du fichier (sans extension)
BASE_DL_FILE=${DL_FILE%.*}
## Créer un dossier du même nom et se placer dedans
mkdir "${BASE_DL_FILE}"
pushd "${DL_DIR}"/"${BASE_DL_FILE}" > /dev/null
## Déplacer le fichier .down dans le dossier
mv "${DL_DIR}"/"${DL_FILE}" .
## Lancer le téléchargement en passant en argument le fichier .down
plowdown -m "${DL_FILE}"
## Ressortir du dossier de téléchargement
popd > /dev/null
## Ressortir de l'emplacement à analyser
popd > /dev/null
## Supprimer le fichier temporaire
rm "${TMP_FILE}"
else
## Script déjà en cours
echo "Script de téléchargement déjà en cours."
fi
exit 0
# Fin de la boucle principale
# -----------------------------------------------------------
# **********************************************************************************************