bin | Zweck | |
---|---|---|
bash | Befehle / Automatisierung | |
ssh | Serverzugang | |
rsync | Synchronisation | |
scp | Remote-Kopien | |
zip | Komprimierung (Archive) | |
gzip | Komprimierung (Dateien) | |
mysqldump | Datenbank-Ausgabe | |
bup | inkrementelle Backups | |
crontab | Automatisierung | |
curl | URL Requests |
bin | Zweck | seit |
---|---|---|
bash | Befehle / Automatisierung | 1989 (1971) |
ssh | Serverzugang | 1995 |
rsync | Synchronisation | 1998 |
scp | Remote-Kopien | 1995 (1982) |
zip | Komprimierung (Archive) | 1989 |
gzip | Komprimierung (Dateien) | 1992 (1983) |
mysqldump | Datenbank-Ausgabe | 1995 |
bup | inkrementelle Backups | 2010 |
crontab | Automatisierung | 1970er |
curl | URL Requests | 1997 (1995) |
set -eux
exec()
in PHP, Node, Perl …~/.ssh
ssh user@host 'foo.bash'
ssh://…
nutzen-i
für Schlüsselpfad-o StrictHostKeyChecking=no
Credentials auslagern:
mysqldump --defaults-extra-file=/path/to/extra.cnf
extra.cnf
[mysqldump]
user=name
password="password"
Dateiupdates:
zip --update [source] [dest].zip
… inkl. Löschungen (seit 2011):
zip --filesync [source] [dest].zip
Komponente | |
---|---|
1. System, Dependencies, Konfiguration, Themes | |
2. Content = Datenbank | |
3. Uploads = Files |
Komponente | via |
---|---|
1. System, Dependencies, Konfiguration, Themes | Git |
2. Content = Datenbank | ?? |
3. Uploads = Files | ?? |
zip -FS
, Time Machine, bup
2018-05-01-14h66
)01…12
, 01…52
, 001…356
)#! /bin/bash
set -eu
day=$(date "+%j")
filename="hostdb-day${day}.sql.gz"
remotedir="/www/var/project/db-dumps"
ssh -o StrictHostKeyChecking=no user@host.com 'mysqldump --defaults-extra-file=/path/to/extra.cnf dbname | gzip > '"${remotedir}/${filename}"
…
…
localdir="../www-private/db"
mkdir -p "${localdir}/archive"
scp -q user@host.com:/"${remotedir}/${filename}" "${localdir}/archive"
ln -f "${localdir}/archive/${filename}" "${localdir}/latest.sql.gz"
echo "${localdir}/archive/${filename}"
… und nicht vergessen:
Fragen?
© Januar 2019