• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Scripts cccam

obelix699

GF Prata
Membro Inactivo
Entrou
Mai 1, 2007
Mensagens
391
Gostos Recebidos
0
Depois de ter postado estes ultimos 3 topicos "choveram" pm´s de pedidos de ajuda na minha caixa de entrada, aproveito para dizer que não respondo a pm´s de ajuda pois, as vossas duvidas podem ser também as duvidas de mais alguém. Como tal, vou aqui postar uns scripts para a cccam isto é corriqueiro no google, logo estes scripts não são da minha autoria.

Script para arrancar e parar a CCcam: cccam.sh

Script para verificar se a CCcam está vivinha: CCcamCheck.sh

Este script é para actualisar a CCcam.cfg todas as noites: configupdate.sh

Por ultimo um script para apagar os logs ao fim de cada semana: LogCleanUp.sh

criar directoria:
# mkdir /var/script

Vamos nos tornar donos da directoria que acabamos de criar;
# chown username /var/script

Fazemos CCcam.x86 bootable com chmod;

# chmod 755 /usr/local/bin/CCcam.x86

Fazemos com que CCcam arranque sempre que fizermos start/restart do Pc

# nano /etc/rc.local

Escrevemos em rc.local;

/usr/local/bin/CCcam.x86

Isto fará com que CCcam.x86 arranque quando arranca o PC
Vamos agora criar os scripts de controlo da CCcam

colocamos os Scripts em /var/script

Mudamos os atributos para que sejam bootaveis;

# chmod 755 /var/script/CCcamCheck.sh
fazemos isto a todos os scriptsscripts!


Colocamos agora no crontab os comandos de arranque e paragem dos scripts que vão actualizar o sistema, convem que terminem antes dos 5 minutos que temos para verificar se a CCcam está a funcionar senão ela arranca antes de terminar os outros scripts;

# crontab -e
56 03 * * * killall CCcam.x86
57 03 * * * /var/script/configupdate.sh >>/var/cccamlog/configupdate.log
58 03 * * * /usr/local/bin/CCcam.x86
*/5 * * * * /var/script/CCcamCheck.sh
01 04 * * 1 /var/script/LogCleanup.sh >>/var/cccamlog/LogCleanup.txt

Salvar com = ctrl X yes enter


__________________________________________________ ______________________
Script para arrancar e parar a CCcam: cccam.sh
#!/bin/sh
#Scriptfile for starting and stopping CCcam
#Script has been modified to enable both x86 and x86_64 versions
#Scriptwriting done by CC_Share
#Setting variables
CAMNAME="CCcam_2.1.3 Server By me"
CAMDIR="/usr/local/bin"
LOGDIR="/tmp/"
# end
# Checking what CCcam version is used on this computer.
if [ ! -f $CAMDIR/CCcam.x86 ]
then
CAM="CCcam.x86"
else
CAM="CCcam.x86"
fi
# Checking for pid file existance
if [ ! -f $CAMDIR/cccam.pid ]
then
echo "No pidfile exists, Creating PID for CCcam"
else
rm $CAMDIR/cccam.pid
echo "Pidfile allready found, Removing old pidfile"
fi
pidof $CAM > $CAMDIR/cccam.pid
PID=$(exec cat $CAMDIR/cccam.pid)
# This method starts CCcam
start_cam ()
{
$CAMDIR/$CAM -dv >> /$LOGDIR/debug.txt &
sleep 5
}
# This method stops CCcam
stop_cam ()
{
kill -9 $PID
sleep 5
}
case "$1" in
start)
echo "[SCRIPT] $1: $CAMNAME"
start_cam
;;
stop)
echo "[SCRIPT] $1: $CAMNAME"
stop_cam
;;
restart)
echo "Restarting $CAMNAME"
stop_cam
start_cam
;;
*)
"$0" stop
exit 1
;;
esac
exit 0
__________________________________________________ __________________________
Script para verificar se a CCcam está vivinha: CCcamCheck.sh

#!/bin/sh
process=`ps auxwww | grep CCcam.x86 | grep -v grep | awk '{print $1}'`
if [ -z "$process" ]; then
echo "Couldn't find CCcam.x86 running. Restarting server-binary" >> /var/cccamlog/cccam.check
nohup /usr/local/bin/CCcam.x86 -d >> /var/cccamlog/CCcam.log &
else echo "CCcam.x86 is still OK!" >> /var/cccamlog/cccam.check
fi
Este script é para actualisar a CCcam.cfg todas as noites: configupdate.sh
#!/bin/bash
#Script to process new config and backup old one
#Script designed and written by CC_Share
SOURCE=/var/config
TARGET=/var/etc
FILE=CCcam.cfg
BACKUPDIR=/var/backup
CONFIGOLD=CCcam.old
if test -f $SOURCE/$FILE ; then
echo "New Config Present"
if test -d $BACKUPDIR ; then
if test -f $BACKUPDIR/$CONFIGOLD ; then
echo "Removing OLD config file from backup directory"
rm $BACKUPDIR/$CONFIGOLD
else
echo "No OLD config to remove."
fi
if test -f $BACKUPDIR/$FILE ; then
echo "Renaming Backup to old config"
cp $BACKUPDIR/$FILE $BACKUPDIR/$CONFIGOLD
rm $BACKUPDIR/$FILE
else
echo "No Backupfile present yet"
fi
if test -f $TARGET/$FILE ; then
echo "Copying Original config to Backup directory"
cp $TARGET/$FILE $BACKUPDIR
rm $TARGET/$FILE
else
echo "No Original Config File Present!?!?"
fi
else
echo "Backup directory does not exist."
echo "making new directory"
mkdir $BACKUPDIR
if test -f $TARGET/$FILE ; then
echo "Copying Original config to Backup directory"
cp $TARGET/$FILE $BACKUPDIR
else
echo "No Original Config File Present!?!?"
fi
fi
echo "Moving New config file to "$TARGET
cp $SOURCE/$FILE $TARGET
rm $SOURCE/$FILE
else
echo "No New Config present, Nothing to process"
fi
exit
___________________________________________________________________
Por ultimo um script para apagar os logs ao fim de cada semana: LogCleanUp.sh
#!/bin/sh
# Script to cleanup log files
# Script written by Youknowhoo.
## set crontab -e to>> 01 04 * * 1 this means will remove all the log files ones a week on monday mornig at 4:01.##
OWNER=silva
TARGETDIR_1=/tmp
TARGETDIR_2=/var/cccamlog
FILE_1=warnings.txt
FILE_2=cccam.check
FILE_3=CCcam.log
FILE_4=configupdate.log
echo && date
if test -f $TARGETDIR_1/$FILE_1 ; then
echo "warning text present!"
chown $OWNER $TARGETDIR_1/$FILE_1
rm $TARGETDIR_1/$FILE_1
else
echo "No warning text present?!?!Nothing to remove"
fi
if test -f $TARGETDIR_2/$FILE_2 ; then
echo "Check File present!"
chown $OWNER $TARGETDIR_2/$FILE_2
rm $TARGETDIR_2/$FILE_2
else
echo "No Check File present?!?! Nothing to remove"
fi

if test -f $TARGETDIR_2/$FILE_3 ; then
echo "CCcam Debug Log precent!"
chown $OWNER $TARGETDIR_2/$FILE_3
rm $TARGETDIR_2/$FILE_3
else
echo "No! CCcam Debug file present, CCcam did run perfectly !!"
fi
if test -f $TARGETDIR_2/$FILE_4 ; then
echo "Check File present!"
chown $OWNER $TARGETDIR_2/$FILE_4
rm $TARGETDIR_2/$FILE_4
else
echo "No Configupdate File present?!?! Nothing to remove"

fi
exit
 

tigoncas40

GF Bronze
Membro Inactivo
Entrou
Fev 22, 2007
Mensagens
45
Gostos Recebidos
0
Só tenho uma dúvida. Em que diretoria se coloca a nova CCcam.cfg para o script à noite pode atualizá-la.
 
Topo