Alle Dateien löschen, die älter als X Tage sind

Oftmals wird die Festplatte durch Backups und Logdateien immer voller.

Möchte man nun alle Dateien in einem Verzeichnis, die älter als z.B. 14 Tage sind löschen, so geht dies ganz einfach mit dem folgenden Befehl:

Beispiel um Dateien älter als 14 Tage zu löschen
1
find /var/backup -name 'meinbackup*' -mtime +14 -exec rm -f {} \;

Mehr lesen

Apache/Nginx Serversignatur anpassen

Wer kennt es nicht? Man ruft eine Seite auf, die es nicht (mehr) gibt und erhält eine Fehlermeldung wie zum Beispiel Not Found. Zusammen mit dieser Meldung auch gleich noch jede Menge an Informationen über den Webserver sowie die verwendeten Erweiterungen.

404 Meldung eines gesprächigen Apache Webservers

Mehr lesen

Cron-Spam aus auth.log fernhalten

Schon bei wenigen Cronjobs, die mehrfach pro Tag ausgeführt werden, wird die Logdatei auth.log mit Einträgen wie zum Beispiel den folgenden überflutet:

Logbeispiele
1
2
3
4
Apr 29 10:21:01 meinserver CRON[19888]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 29 10:21:01 meinserver CRON[19888]: pam_unix(cron:session): session closed for user root
Apr 29 10:22:01 meinserver CRON[19891]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 29 10:22:01 meinserver CRON[19891]: pam_unix(cron:session): session closed for user root

Dies macht die Logdatei auth.log sehr unübersichtlich und es teilweise sogar unmöglich manuell nach bestimmten Vorkommnissen zu Suchen.

Mit Hilfe von rsyslog, welches bei Debian (ab Lenny) und Ubuntu standardmäßig zum Einsatz kommt, ist es ohne weiteres möglich die entsprechenden Logeinträge in eine andere Datei umzuleiten. Hierzu erstellen wir im Verzeichnis /etc/rsyslog.d/ eine neue Datei namens 30-cron.conf mit folgendem Inhalt:

30-cron.conf um die Einträge umzuleiten
1
2
3
# Cronjob-Spam umleiten
:msg, contains, "pam_unix(cron:session):" -/var/log/cronauth.log
& stop

Wichtig

Wichtig ist dabei das & stop in der letzten Zeile, da sonst die Logeinträge in beiden Dateien ankommen.

Hinweis

Ältere Versionen des rsyslog verwenden hier noch & ~ anstelle von & stop.

Alternativ könnte man auch die Logeinträge komplett verwerfen über folgenden Konfiguration:

30-cron.conf um die Einträge gar nicht zu loggen
1
2
# Cronjob-Spam nicht loggen
:msg, contains, "pam_unix(cron:session):" stop

Um die Änderungen zu Übernehmen müssen wir rsyslog noch neu starten:

sudo systemctl restart rsyslog.service bzw. sudo /etc/init.d/rsyslog restart

Jetzt sollten alle neuen Einträge der Conjobs aus der Logdatei auth.log verschwunden sein und in der cronauth.log auftauchen.

Sollte die Datei /var/log/cronauth.log nicht automatisch angelegt werden oder leer bleiben, dann kann diese per Hand angelegt und die Dateirechte entsprechend angepasst werden:

cronauth.log manuell anlegen
1
2
3
sudo touch /var/log/cronauth.log
sudo chown syslog:adm /var/log/cronauth.log
sudo chmod 0640 /var/log/cronauth.log

Damit die neue Log-Datei auch beim automatischen Logrotate berücksichtigt wird legen wir noch die Datei /etc/logrotate.d/cronauth mit folgendem Inhalt an:

/etc/logrotate.d/cronauth
1
2
3
4
5
6
7
8
9
10
11
12
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}

Höhere Auflösung als Monitor unterstützt

Vor allem bei kleinen Monitoren passiert es manchmal, dass ein Programmfenster zu groß ist, um komplett dargestellt zu werden. Meist liegen dann auch noch die benötigten Teile des Fensters außerhalb des sichtbaren Bereiches.

Hier kann man sich bei Linux ganz einfach durch Aktivierung des sogenannten Panning (engl. Schwenkung) für den Monitor behelfen. Das Panning sorgt dafür, dass der Desktop eine höhere Auflösung bekommt, als auf dem Monitor dargestellt werden kann. Der Sichtbare Ausschnitt des Desktops wird dabei der Maus folgend (Verfolgungsmodus) nach links, rechts, oben oder unten automatisch verschoben. Man sieht also immer nur einen Teil des Desktops.

Mehr lesen

X-Programme mit sudo

Versucht man ein Programm (z.B. gedit) mit grafischer Oberfläche per sudo (eventuell auch noch über eine SSH-Verbindung) zu starten, so erhält man meistens die Fehlermeldung

Versuch gedit mit sudo zu öffnen
1
2
3
benutzer@meinrechner:~$ sudo gedit
X11 connection rejected because of wrong authentication.
Anzeige kann nicht geöffnet werden:

Mehr lesen

apt-get install ohne upgrade

Manchmal kommt es vor, dass man ein neues Paket installieren, aber verfügbare Updates für andere Pakete erst später anwenden möchte.

Normalerweise würden bei Debian bei der Installation über apt-get install alle ausstehenden Updates mit installiert werden. Um dies zu vermeiden gibt es den Schalter --no-upgrade.

Beispiel
1
apt-get --no-upgrade install nano