Um lokal erzeugte Backups auf einen Backup Server automatisch zu übertragen, kann eine FTP-Session auch in einem Shell Skript ablaufen. Nötig sein kann das, wenn man einen Server bei einem Provider gemietet hat und kein Backup Agent installiert werden kann. Ich sichere dieses Wiki jedoch ebenfalls mit einem Skript und übertrage im Anschluss das Backup auf unseren FTP Server. Man hat in einem Script die Möglichkeit Benutzereingaben zu definieren, wie zB die Eingabe eines FTP Users oder des Passworts, man kann Verzeichnisse wechseln etc. Diese Fähigkeit nennt man »Here Documents« oder auch Hier-Dokumente1). Hier ein Beispielscript so einer automatisierten FTP-Session:
ftpscript.sh
#!bin/bash FTPSRV=your.ftpserver.com FTPUSR=youruser FTPPAS=secret LCD=/tmp ftp -n $FTPSRV <<EOF quote user $FTPUSR quote pass $FTPPAS epsv lcd $LCD put example.txt bye exit EOF
Ein Ablauf einer solchen Session schaut dann in etwa so aus:
$ sh ftpscript2.sh
Connected to ftp.server.de.
220 "Welcome to the SERVER AG FTP Service."
331 Please specify the password.
230 Login successful.
EPSV/EPRT on IPv4 off.
Local directory now: /private/tmp
local: example.txt remote: example.txt
227 Entering Passive Mode (192,168,109,101,252,79)
150 Ok to send data.
12 0.00 KiB/s
226 File receive OK.
221 Goodbye.