Nagy Gyula
Majdnem jó. Ha jól számolom, a 13. sor, ez: sed -i 's/sleep\ 15/sleep\ 2/' ~/reslogger.sh
felesleges, ezt nem ide kellett volna betenni, hanem terminálban kiadni. Ennek következménye, hogy a sleep 15
, így persze nem lett sleep 2
és a fájl végéről hiányzik egy fi
meg talán egy üres sor. Elsőre ennyi hibát találtam, de már fáradt vagyok, lehet van még más is.
Kijavítod őket vagy inkább kezdjük elölről?
1) Ha a kijavítást választod (szerintem ezt csináld, ez neked az egyszerűbb):
Nyiss egy terminálablakot (Ctrl+Alt+T) és soronként egymás után másold be:
sed -i '12d' ~/reslogger.sh
sed -i 's/sleep\ 15/sleep\ 2/' ~/reslogger.sh
echo "fi" >> ~/reslogger.sh
echo "" >> ~/reslogger.sh
most ugorj a 3) pontra!
2) Ha kezdenéd elölről:
A reslogger.sh törlése:
rm ~/reslogger.sh
Új reslogger.sh fájl létrehozása:
touch ~/reslogger.sh
A reslogger.sh fájl tartalommal való feltöltése:
Fontos, hogy az egész szöveget kijelöld, majd a terminálablakot nyisd ki teljes képernyőre és úgy kattints bele az egérgörgővel!
echo '#!/bin/bash
LOG="~/reslog.txt"
writelogentry ()
{
echo "Pillanatkép: " $(date +%Y%m%d-%T) >> $LOGFILE
echo "CPU szerint:" >>$LOGFILE
top -b -n 1 | head -n 16 >> $LOGFILE
echo "%MEM szerint:" >> $LOGFILE
top -b -n 1 -o %MEM| head -n 16 >>$LOGFILE
sensors | grep + >>$LOGFILE
echo "========================================" >>$LOGFILE
}
#itt indul
eval LOGFILE=$LOG
if [ -n "$1" ] && [ $1 = "install" ]; then
eval DESKTOPFILE=~/.config/autostart/resourcelogger.desktop
echo "Install: létrehozom az indítóbejegyzést: "$DESKTOPFILE
cat <<_EOF > $DESKTOPFILE
[Desktop Entry]
Type=Application
Name=Resource logger
NoDisplay=true
Comment=
RunHook=0
_EOF
Myname=$(readlink -f $0)
echo "Exec=$Myname" >> $DESKTOPFILE
echo "Az indítóbejegyzés rám mutat: "$Myname
echo "Elvileg kész az install"
elif [ ! -f /tmp/reslogflag ]; then
touch /tmp/reslogflag
echo "Logger elindult: " $(date +%Y%m%d-%T) >> $LOGFILE
while true
do
writelogentry
sleep 2
done
else
echo "Már fut a szkript (vagy a tmp-ben ott maradt a flag...)"
fi
' >> ~/reslogger.sh
A reslogger.sh futtathatóvá tétele:
chmod +x ~/reslogger.sh
3) Akár a kijavítást, akár az újrakezdést választottad, én innen így folytatnám:
A gyorsítótár ürítése:
rm /tmp/reslogflag
Ha most ki- majd bejelentkezel, elvileg el kell indulnia. Ha nem indul mégsem, akkor nézzük meg ismét, most mi van a reslogger.sh-ban.
cat ~/reslogger.sh