Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- LANCEMENT_HEURE_DEBUT=09
- LANCEMENT_HEURE_FIN=10
- ARRET_HEURE_DEBUT=18
- ARRET_HEURE_FIN=19
- NOMBRE_SCRIPT=9
- SCRIPT_PATTERN="pysoul/pysoul.py"
- IDX=1
- SIGNAL_TO_KILL=1
- function runScript(){
- local lINDEX="${1}"
- local lSCRIPTNAME="/home/user${IDX}/${PATTERN}"
- if [ $(ps aux | grep -v grep | grep "${lSCRIPTNAME}" | wc -l) -eq 0 ]; then
- echo "[+] launching script ${lSCRIPTNAME} with UID user${IDX}"
- su "user${IDX}" -c "/home/user${IDX}/${PATTERN}"
- else
- echo "[-] script ${lSCRIPTNAME} already launched"
- fi
- }
- function killScript(){
- local lINDEX="${1}"
- local lSCRIPTNAME="/home/user${IDX}/${PATTERN}"
- if [ $(ps aux | grep -v grep | grep "${lSCRIPTNAME}" | wc -l) -eq 0 ]; then
- echo "[-] script ${lSCRIPTNAME} not launched"
- else
- echo "[+] killing script ${lSCRIPTNAME}"
- local lPID=$(ps aux | grep -v grep | grep "${lSCRIPTNAME}" | awk '{print $2}')
- kill -${SIGNAL_TO_KILL} $()
- fi
- }
- while [ true ]; do
- HEURE_COURANTE=$(date +'%H')
- if [ ${HEURE_COURANTE} -ge ${LANCEMENT_HEURE_DEBUT} -a ${HEURE_COURANTE} -le ${LANCEMENT_HEURE_FIN} ]; then
- runScript "${IDX}"
- fi
- if [ ${HEURE_COURANTE} -ge ${ARRET_HEURE_DEBUT} -a ${HEURE_COURANTE} -le ${ARRET_HEURE_FIN} ]; then
- killScript "${IDX}"
- fi
- sleep $(( 60 * 1 )) # 1 minute
- IDX=$(( ${IDX} + 1 ))
- if [ ${IDX} -ge ${NOMBRE_SCRIPT} ]; then
- IDX=1
- fi
- done
Add Comment
Please, Sign In to add comment