retrait sous-shell
This commit is contained in:
parent
4fd9d090e5
commit
6365fdf1f2
@ -30,62 +30,72 @@ checkusenet(){
|
||||
|
||||
cd ${DOSSIER_GLOBAL}
|
||||
|
||||
|
||||
while true
|
||||
do
|
||||
while true; do
|
||||
verif=$(sqlite3 "$DB_FILE" "BEGIN IMMEDIATE; SELECT id, nom FROM release WHERE status = 0 LIMIT 1; COMMIT;")
|
||||
if [ -n "$verif" ]; then
|
||||
id=$(echo "$verif" | awk -F "|" '{print $1}' | sed 's/^[ \t]*//;s/[ \t]*$//')
|
||||
name=$(echo "$verif" | awk -F "|" '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//')
|
||||
id=$(echo "$verif" | awk -F "|" '{print $1}' | xargs)
|
||||
name=$(echo "$verif" | awk -F "|" '{print $2}' | xargs)
|
||||
FILESANSEXT=${name%.*}
|
||||
LOG="${DOSSIER_LOGS}${FILESANSEXT}.log"
|
||||
|
||||
{
|
||||
echo -e ${VERT}"DEBUT DE TRAITEMENT DE" ${FILESANSEXT}${NORMAL}
|
||||
echo -e ${CYAN}"CREATION DES PAR2"${NORMAL}
|
||||
parpar -s10M -r20%+2 -m4096M -p1l -o ${FILESANSEXT}.par2 ${name}
|
||||
echo -e "${VERT}DEBUT DE TRAITEMENT DE ${FILESANSEXT}${NORMAL}" | tee -a "$LOG"
|
||||
echo -e "${CYAN}CREATION DES PAR2${NORMAL}" | tee -a "$LOG"
|
||||
# Lancement de parpar et redirection vers tee sans sous-shell
|
||||
parpar -s10M -r20%+2 -m4096M -p1l -o "${FILESANSEXT}.par2" "${name}" \
|
||||
> >(tee -a "$LOG") 2> >(tee -a "$LOG" >&2)
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
echo -e "${ROUGE}Erreur parpar (code $ret). Marquage en échec.${NORMAL}"
|
||||
sqlite3 "$DB_FILE" "BEGIN IMMEDIATE; UPDATE release SET status = 2 WHERE id = ${id}; COMMIT;"
|
||||
rm -f ${FILESANSEXT}.par2 ${FILESANSEXT}.vol*
|
||||
echo -e "${ROUGE}Erreur parpar (code $ret). Marquage en échec.${NORMAL}" | tee -a "$LOG"
|
||||
sqlite3 "$DB_FILE" \
|
||||
"BEGIN IMMEDIATE; UPDATE release SET status = 2 WHERE id = ${id}; COMMIT;"
|
||||
rm -f "${FILESANSEXT}.par2" "${FILESANSEXT}.vol*"
|
||||
continue
|
||||
fi
|
||||
|
||||
echo -e ${VERT}"UPLOAD SUR USENET" ${NORMAL}
|
||||
# Suite du traitement loggué
|
||||
{
|
||||
echo -e "${VERT}UPLOAD SUR USENET${NORMAL}"
|
||||
checkusenet
|
||||
nyuu -h ${NG_HOST} -P ${NG_PORT} -S -u ${NG_USER} -p ${NG_PASS} -n ${NG_NBR_CONN} -g alt.binaries.boneless -o "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" --nzb-title "${FILESANSEXT}" -f "{rand(14)} {rand(14)}@{rand(5)}.{rand(3)}" --message-id "{rand(32)}@{rand(8)}.{rand(3)}" --subject "{rand(32)}" --nzb-subject "{filename}" --obfuscate-articles ${FILESANSEXT}.*
|
||||
nyuu -h ${NG_HOST} -P ${NG_PORT} -S -u ${NG_USER} -p ${NG_PASS} -n ${NG_NBR_CONN} \
|
||||
-g alt.binaries.boneless -o "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" \
|
||||
--nzb-title "${FILESANSEXT}" -f "{rand(14)} {rand(14)}@{rand(5)}.{rand(3)}" \
|
||||
--message-id "{rand(32)}@{rand(8)}.{rand(3)}" \
|
||||
--subject "{rand(32)}" --nzb-subject "{filename}" --obfuscate-articles ${FILESANSEXT}.*
|
||||
|
||||
if [ -e "${DOSSIER_NFO}""${FILESANSEXT}".json ]; then
|
||||
echo -e ${JAUNE}"VERIF DU NZB"${NORMAL}
|
||||
nzbsizebit=$(bash ${ANALYZER} ${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb | jq '.Taillebit')
|
||||
echo -e "NZB_SIZE :"${nzbsizebit}
|
||||
jsonsizebit=$(cat ${DOSSIER_NFO}${FILESANSEXT}.json | jq -r '.media.track[] | select(.["@type"] == "General") | .FileSize')
|
||||
echo -e "MEDIAINFO_SIZE :"${jsonsizebit}
|
||||
if [ -e "${DOSSIER_NFO}${FILESANSEXT}.json" ]; then
|
||||
echo -e "${JAUNE}VERIF DU NZB${NORMAL}"
|
||||
nzbsizebit=$(bash ${ANALYZER} "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" | jq '.Taillebit')
|
||||
echo -e "NZB_SIZE : ${nzbsizebit}"
|
||||
jsonsizebit=$(jq -r '.media.track[] | select(."@type" == "General") | .FileSize' "${DOSSIER_NFO}${FILESANSEXT}.json")
|
||||
echo -e "MEDIAINFO_SIZE : ${jsonsizebit}"
|
||||
|
||||
if [[ ${nzbsizebit} -le ${jsonsizebit} ]] || [[ ${nzbsizebit} = "NAN" ]]; then
|
||||
echo -e "$ROUGE""PROBLEME TAILLE NZB""$NORMAL"
|
||||
rm ${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb ${FILESANSEXT}.par2 ${FILESANSEXT}.vol*
|
||||
echo -e "${ROUGE}PROBLEME TAILLE NZB${NORMAL}"
|
||||
rm "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" "${FILESANSEXT}.par2" "${FILESANSEXT}.vol*"
|
||||
sqlite3 "$DB_FILE" "BEGIN IMMEDIATE; UPDATE release SET status = 2 WHERE id = ${id}; COMMIT;"
|
||||
else
|
||||
echo -e ${CYAN}"ENVOI SUR LE SITE"${NORMAL}
|
||||
curl -s -k -L -m 60 --output /dev/null -F rlsname=${FILESANSEXT} -F generated_nfo_json=@${DOSSIER_NFO}${FILESANSEXT}.json -F nzb=@${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb -F upload=upload "${URL_API}${APIKEY}"
|
||||
echo -e "${CYAN}ENVOI SUR LE SITE${NORMAL}"
|
||||
curl -s -k -L -m 60 --output /dev/null \
|
||||
-F rlsname=${FILESANSEXT} \
|
||||
-F generated_nfo_json=@${DOSSIER_NFO}${FILESANSEXT}.json \
|
||||
-F nzb=@${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb \
|
||||
-F upload=upload "${URL_API}${APIKEY}"
|
||||
first_char=$(echo "${name:0:1}" | tr '[:lower:]' '[:upper:]')
|
||||
if [ ! -d ${DOSSIER_NZB_FINAL}${first_char} ]; then
|
||||
mkdir ${DOSSIER_NZB_FINAL}${first_char}
|
||||
fi
|
||||
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on ${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z ${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb > /dev/null 2>&1
|
||||
mv ${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z ${DOSSIER_NZB_FINAL}${first_char}/
|
||||
rm -rf ${FILESANSEXT}*
|
||||
rm ${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb
|
||||
mkdir -p "${DOSSIER_NZB_FINAL}${first_char}"
|
||||
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on \
|
||||
"${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z" \
|
||||
"${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb" > /dev/null 2>&1
|
||||
mv "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.7z" "${DOSSIER_NZB_FINAL}${first_char}/"
|
||||
rm -rf "${FILESANSEXT}*"
|
||||
rm "${DOSSIER_NZB_ATTENTE}${FILESANSEXT}.nzb"
|
||||
sqlite3 "$DB_FILE" "BEGIN IMMEDIATE; UPDATE release SET status = 1 WHERE id = ${id}; COMMIT;"
|
||||
echo -e ${VERT}"FIN DE TRAITEMENT DE" ${FILESANSEXT}${NORMAL}
|
||||
echo -e "${VERT}FIN DE TRAITEMENT DE ${FILESANSEXT}${NORMAL}"
|
||||
fi
|
||||
else
|
||||
echo -e ${ROUGE}"ENVOI SUR LE SITE IMPOSSIBLE NFO MANQUANT"${NORMAL}
|
||||
fi
|
||||
} 2>&1 | tee -a ${DOSSIER_LOGS}${FILESANSEXT}.log
|
||||
echo -e "${ROUGE}ENVOI SUR LE SITE IMPOSSIBLE NFO MANQUANT${NORMAL}"
|
||||
fi
|
||||
} > >(tee -a "$LOG") 2>&1
|
||||
|
||||
attente 10 # Attente de 10 secondes
|
||||
attente 10
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user