Hier entsteht eine Sammlung häufig gestellter Fragen und Antworten dazu.
Neue Fragen bitte auf der Diskusionsseite eintragen !
Dateien und Datensicherung
- ISO-Image mounten : mount -t iso9660 -o loop,ro /pfad/image.iso /mnt/mountpoint
- Alte Dateien automatisch löschen
Zum Beispiel folgenden Befehl in die crontab einfügen :
10 2 * * * root find /Pfad/zum/Verzeichnis/ -type f -mtime +3 -exec rm {} \;
Täglich um 2:10 Uhr werden im angegebenen Verzeichnis (und darunterliegenden Verzeichnissen !) alle Dateien, die älter als 3 Tage sind, gelöscht !
Um die Unterverzeichnisse nicht anzugreifen kann -depth verwendet werden. Sicherer ist es aber, wenn dort keine Unterverzeichnisse vorhanden sind.
- Mysql Datenbank und Webverzeichnis automatisch sichern
Viele Wege führen nach Rom - hier einer davon :
Einfach das folgende Script als backup.sh anpassen und von Cron täglich ausführen lassen.
#!/bin/bash
sidate=$(date +%Y.%m.%d)
dbname='Name der Datenbank'
# ^^^^^^^^^^^^^^^^^^ anpassen !
ftppfad=/Pfad/zum/ftp-verzeichnis # Vorher ein vom User per ftp zugängliches Verzeichnis erstellen
# ^^^^^^^^^^^^^^^^^^^^^^^^^ anpassen !
tmpbackup=/Pfad/zum/tmp-backup-verzeichnis # Vorher ein Verzeichnis für die Zusammenstellung der Backup-Dateien erstellen
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ anpassen !
cd $tmpbackup
dateiname=$sidate-$dbname.sql
if [ -d $tmpbackup ]; then
mysqldump --user=db-username --password=db-user-passwort --host=localhost $dbname --single-transaction -R> $tmpbackup/$dateiname
# ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ anpassen !
echo "$sidate-$dbname Datenbank gesichert !" >> /var/log/backup.log
fi
if [ -d $tmpbackup ]; then
cp -r /Pfad/zum/webverzeichnis/ $tmpbackup/
# ^^^^^^^^^^^^^^^^^^^^^^^^^ anpassen !
echo "$sidate-Webverzeichnis gesichert !" >> /var/log/backup.log
tar cjpf $ftppfad/$sidate-backup.tar.bz2 $tmpbackup/ >& /dev/null
fi
if [ -e $ftppfad/$sidate-backup.tar.bz2 ]; then
rm -rf *
echo "$sidate-backup.tar.bz2 erstellt und in ftp-verzeichnis verschoben !" >> /var/log/backup.log
chown username.users $ftppfad/*
# ^^^^^^^^ anpassen !
# Backup automatisch auf anderen Rechner übertragen
sftp -u ftp://FTP_USER:FTP_PASS@$FTP_SERVER $ftppfad/$sidate-backup.tar.bz2
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ anpassen !
echo "$sidate-backup.tar.bz2 nach Rechnername übertragen !" >> /var/log/backup.log
# ^^^^^^^^^^^ anpassen !
fi
Mail
- Lokale Mails von anderen Rechnern zustellen lassen.
Einfach als root in der Datei /etc/aliases einen Eintrag machen. Schon wird die lokale Mail an deine Mailadresse geschickt.
Nach einer Änderung "newaliases" ausführen (bei Posfix : "postalias /etc/aliases").
z.B :
# Mail weiterleiten :
lokaler_username: deine_mailadresse
# Mail weiterleiten und lokal zustellen :
lokaler_username: deine_mailadresse , \lokaler_username
In manchen Fällen ist es sinnvoll, nicht die originale Mail zu verschicken. Zum Beispiel könnte jemand aus einer Mail von einem Root Server den lokalen Usernamen sowie Systemmeldungen erfahren und damit gezielter Einbruchversuche starten.
Da kann das folgende Script, nach anpassen von Pfad und Username, Abhilfe schaffen, das mit cron ausgeführt wird.
#!/bin/bash
#Benachrichtigung, wenn Mail auf einem entferneten Rechner vorhanden ist
cd /var/mail
MN=$(find -name username)
if [ "$MN" = "./username" ]; then
echo "Du hast Mail bei Servername !" | mail -s "Du hast Mail" deine_mailadresse
# Wenn Du auch den else Teil benutzt, kannst Du gleich feststellen, ob der Rechner noch läuft, wenn keine Mail da ist.
# Macht nur Sinn, wenn das Script täglich oder seltener ausgeführt wird.
else
echo "Keine Mails bei Servername !" | mail -s "Keine Mail" deine_mailadresse
fi