FAQ

Aus Fibalug

Wechseln zu: Navigation, Suche
Fischbachtaler Linux User Group - FAQ


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