crontab
* * * * * <auszuführender Befehl>
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59)
Beim reboot bzw. nach dem booten ausführen:
@reboot <auszuführender Befehl>
Folgend Schreibweisen sind in der crontab auch möglich:
@daily <auszuführender Befehl>
@midnight <auszuführender Befehl>
@hourly <auszuführender Befehl>
@weekly <auszuführender Befehl>
@monthly <auszuführender Befehl>
@annually <auszuführender Befehl>
@yearly <auszuführender Befehl>
Alle Ausgaben nach /dev/null umleiten:
* * * * * /pfad/script.sh > /dev/null 2>&1
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59)
Beim reboot bzw. nach dem booten ausführen:
@reboot <auszuführender Befehl>
Folgend Schreibweisen sind in der crontab auch möglich:
@daily <auszuführender Befehl>
@midnight <auszuführender Befehl>
@hourly <auszuführender Befehl>
@weekly <auszuführender Befehl>
@monthly <auszuführender Befehl>
@annually <auszuführender Befehl>
@yearly <auszuführender Befehl>
Alle Ausgaben nach /dev/null umleiten:
* * * * * /pfad/script.sh > /dev/null 2>&1
ssh breaks find-loop in shellscript
#!/bin/bash
DIR=/testdir
find ${DIR} -maxdepth 1 -type f | while read FILE ; do
# ohne </dev/null wird die Schleife nach dem ersten ssh beendet
ssh servername "hostname;" </dev/null
done
Netzwerk nach einem speziellen Service absuchen
nmap -p 22 --open -sV 192.168.0.0/24
Sucht 192.168.0.1 - 192.168.0.254 nach ssh-servern (port 22) ab.
Auch ohne root-rechte ausführbar.
Auch ohne root-rechte ausführbar.
PID-File für bash-script
PID_FILE=/var/run/scriptname.pid
if [ -f $PID_FILE ]
then
PID=$(cat $PID_FILE)
ps -p $PID > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "Process is already running!"
exit 1
else
## PID-File exists but process not running -> Update PID-File
echo $$ > $PID_FILE
if [ $? -ne 0 ]
then
echo "Error creating PID-file"
exit 1
fi
fi
else
echo $$ > $PID_FILE
if [ $? -ne 0 ]
then
echo "Error creating PID-file"
exit 1
fi
fi
# ..... rest of the script
# at the end of the script, remove PID-File
rm $PID_FILE
if [ -f $PID_FILE ]
then
PID=$(cat $PID_FILE)
ps -p $PID > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "Process is already running!"
exit 1
else
## PID-File exists but process not running -> Update PID-File
echo $$ > $PID_FILE
if [ $? -ne 0 ]
then
echo "Error creating PID-file"
exit 1
fi
fi
else
echo $$ > $PID_FILE
if [ $? -ne 0 ]
then
echo "Error creating PID-file"
exit 1
fi
fi
# ..... rest of the script
# at the end of the script, remove PID-File
rm $PID_FILE
Scrollen im Screen
- Press STRG-A
- Press ESC
- Scroll with UP and DOWN arrow keys
- Press ESC to Exit scrollback-mode
- Press ESC
- Scroll with UP and DOWN arrow keys
- Press ESC to Exit scrollback-mode
Prozesse killen mit grep
kill $(ps -ef | grep 'suchwort' | grep -v grep | awk '{print $2}')
oder
ps -ef |grep 'suchwort' | grep -v grep | awk {'print $2'} | xargs kill
oder
pkill -f suchwort
-f The pattern is normally only matched against the process name. When -f is set, the full command line is used.
get external-ip
curl ifconfig.me