HTML- und XHTML-Entities
Eine Liste aller HTML- und XHTML-Entities, wird ja doch öfters mal bei der Entwicklung gebraucht ...
#!/bin/bash
ftp -pvin FTPSERVER < < END_SCRIPT
quote USER FTPUSER
quote PASS FTPPASSWORD
cd FTPDIR
lcd LOCALDIR
mget *
bye
END_SCRIPT
history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a [ i ],i}}'|sort -rn|head
84 sudo
19 l
16 cd
12 scp
12 python
10 kill
9 psx
7 exit
6 ./configure
sudo aptitude install gpg
sudo aptitude install duplicity
FTP_PASSWORD=secret duplicity /home/exampleuser ftp://backupuser@backup.example.com/subdirectory
--exclude kann man Verzeichnisse vom Backup ausschließen. Backups wiederherstellen geht auch relativ simpel:FTP_PASSWORD=secret duplicity ftp://backupuser@backup.example.com/ /home/exampleuser
debianserver:/home/exampleuser# gpg --gen-key
gpg --list-keygibt eine Liste der Schlüssel aus. Da sollte der gerade angelegte mit den richtigen Daten dabei sein. #!/bin/bash
export PASSPHRASE=secret
export FTP_PASSWORD=ftpsecret
duplicity --encrypt-key "9D6F907C" --sign-key "9D6F907C" \
--exclude /proc \
--exclude /dev \
--exclude /sys \
--exclude /swap \
/ ftp://user@backup-server.de/
| mail -s "duplicity backup" root@pumuckl-fanclub.de hinten dran anhängen). Wer sich aber Ergebnisse von Cron-Jobs eh per Mail zuschicken lässt (MAILTO-Anweisung in der crontab) kann darauf verzichten, da er diese Ergebnisse sowieso bekommt.chmod +x /usr/local/bin/ftpbackup ausführbar. Dann editiert man mitcrontab -e die Crontab von root (vorher evtl. mit sudo su auf root wecheln). Das Skript muss als root laufen, wenn wie im obigen Beispiel die gesamte Verzeichnisstruktur gesichert werden soll. Soll nur z.B. ein Homeverzeichnis eines bestimmten Benutzers gesichert werden, reicht es auch aus, den Aufruf in die crontab dieses Nutzers einzutragen.27 5 * * * /usr/local/bin/ftpbackup
echo du . | lftp -u FTPUSER,FTPPASSWORT FTPSERVER | awk -v LIMIT="50" '$1~/[0-9]+/ {QUOTA=LIMIT*1024*1024; print (QUOTA-$1)/1024/1024 " GB left"}'
test@bheil-pc:~> ls /var/backups/sql/
insgesamt 28K
drwxr-xr-x 2 root root 4,0K 2007-11-22 06:03 2007.11.22
drwxr-xr-x 2 root root 4,0K 2007-11-23 06:03 2007.11.23
drwxr-xr-x 2 root root 4,0K 2007-11-24 06:03 2007.11.24
drwxr-xr-x 2 root root 4,0K 2007-11-25 06:03 2007.11.25
drwxr-xr-x 2 root root 4,0K 2007-11-26 06:03 2007.11.26
drwxr-xr-x 2 root root 4,0K 2007-11-27 06:03 2007.11.27
drwxr-xr-x 2 root root 4,0K 2007-11-28 15:27 2007.11.28
#!/bin/bash
####################
# Das hier anpassen!
####################
# Das Sicherungsverzeichnis - hier landen alle Backups als
# Unterverzeichnisse und nach Datum sortiert
# Achtung: Dieses Verzeichnis muss existieren und das
# Skript muss dort Schreibrechte besitzen!
SAVEDIR="/home/backup/sql"
# Anzahl der Sicherungen, sprich Tage - 6 steht fuer eine
# Woche (7 Sicherungen, da die aktuelle nicht gezaehlt wird)
DAYSOLD="6"
# Temp-Verzeichnis (das Skript braucht dort Schreibrechte)
TMPDIR="/tmp"
# Root-Passwort zur MySQL-Datenbank
DBPWD="PASSWORT"
####################
# Ab hier i.d.R. keine Aenderung mehr noetig
####################
# Erzeuge Liste aller Datenbanken in $TMPDIR/dbaselist.txt
mysqlshow -u root -p$DBPWD | awk '{print $2}' | \
grep -v Databases | sort > $TMPDIR/dbaselist.txt
# Finde und loesche alles, was seit $DAYSOLD Tagen nicht
# veraendert wurde
find $SAVEDIR -maxdepth 1 -mindepth 1 \
-mtime +$DAYSOLD -exec rm -rf {} \;
# Geh ins Sicherungsverzeichnis und lege ein Verzeichnis
# des heutigen Datums an
cd $SAVEDIR
mkdir -p `date +%Y.%m.%d`
cd `date +%Y.%m.%d`
# Liste der Datenbanken durchgehen und Sicherung erstellen
for x in `cat /tmp/dbaselist.txt`; do
mysqldump --opt -u root -p$DBPWD $x >$x.sql;
done;
# Aufraeumen
rm -f *.gz
rm -f /tmp/dbaselist.txt
# Alle Dateien zippen
gzip *