let’s talk about cron

Was ist überhaupt cron?
Link zu Wikipedia zum selbst nachlesen. Kurz umschrieben würde ich sagen ein automatisch ausgeführter zeitgesteuerter Ablauf von Ereignissen.

Hier gibts die Beschreibung von O’Reilly wie ein Cronjob erstellt wird und welche Parameter zur Verfügung stehen um zum Beispiel Shellscripte zeitgesteuert auszuführen.

Wozu braucht man ihn?
Na zum Beispiel für sowas:
1.) 0 22 * * * /path/makebackup.sh
Was steht da drin?
Meistens etwas in der Art:
2.) mysqldump --host=hostname --user=username --pass=password dbname | gzip > /path/wpbackup_`date "+%Y_%m_%d__%H%M"`.gz
3.) find /path/ -type f -mtime +7 -name \*.gz -exec rm {} \;
Was tut das?
Also bei 1.) wird jeden Tag um 22:00 Uhr die Datei makebackup.sh ausgeführt.
Bei 2.) wird ein Abbild der mySQL Datenbank erstellt, per Pipe an gzip übergeben und in den angegebenen Pfad in die Datei wpbackup_aktuellesDatumplusUhrzeit.gz gepackt.
Punkt 3.) sucht per find nach allen Dateien im angegebenen Pfad, die auf .gz enden und löscht alle die älter sind als 7 Tage, wodurch ein Überlauf der Backups verhindert wird.

SSH & x11vnc

Man ist ja doch etwas “faul” und möchte eventuell seinen Rechner remote bedienen sofern er nicht in Reichweite ist…
Erster Gedanke: mach ich mit VNC…
Tja aber die Sicherheit ist auch gefragt also nutzen wir SSH.
Erstmal SSH Paket installieren und Server zum laufen bringen.
Hier noch eine man Page zum Thema authorized_keys was aber nur für einen “echten” Server wichtig ist und ich möchte ja auf einen Client im LAN zugreifen von meinem Windows 7 PC.
Hier die passende Anleitung wie man x11vnc auf Kubuntu verwenden kann.

In Verbindung mit einem Windows Rechner und Putty sieht das ganze so aus (Bsp. ist aus dem obigen Link kopiert):

Logging in from a Windows PC

Simon wants to connect to his Ubuntu PC from his work computer, running Windows. He has installed PuTTY and TightVNC Viewer on his work computer.

Before his first connection, he sets up PuTTY:

  • From his home computer, he visits www.whatismyip.com, and finds that his computer’s IP address is 1.2.3.4
  • From his work computer, he runs PuTTY.
  • In the PuTTY configuration window, he goes to Connection > SSH > Tunnels
  • In the Tunnels section of PuTTY, he types 5902 for Source port, localhost:5900 for Destination, then clicks Add
  • He goes back to the Session section of the PuTTY configuration window
  • He types simon@1.2.3.4 for Host Name (or IP address), and clicks SSH
  • He types Home for Saved Sessions and clicks Save

Then each time he connects to his home PC, he does this:

  • From his work computer, he runs PuTTY
  • From PuTTY, he clicks the Home saved session, then clicks Open
  • In the PuTTY window, he types his password and presses Return
  • In the PuTTY window, he types x11vnc -safer -localhost -nopw -once -display :0 and presses Return
  • From his work computer, he runs TightVNC Viewer
  • In TightVNC Viewer, he types localhost::5902 for VNC server and presses Connect.