Um dieses Skript auszuführen, müssen die Bitnami Cloud Tools installiert sein. (siehe diesen Artikel). Anschließend erstellt man im Root Verzeichnis der Bitnami Cloud Tools eine AWS-Backup.bat Datei und fügt dort das folgende Skript ein:
@echo off CALL "D:\AWS-BI~1\scripts\setenv.bat" CALL "D:\AWS-BI~1\aws-setenv.bat" :: Path for your AWS home directory set AWS_HOME=D:\AWS-BI~1\ :: Hier wird der Endpunkt für die Region EU gesetzt. set EC2_URL=https://ec2.eu-west-1.amazonaws.com:443 cd "D:\AWS-BitNami" :: Set today's day of week parameter, German Date with . otherwise / for /F "tokens=1 delims=. " %%a in ('DATE/T') do set dateDayOfMonth=%%a :: Create a file with all attached volumes ec2-describe-volumes|find /i "attached">%AWS_HOME%\Volumes.txt :: Create a file with old scheduled snapshots using same day of week parameter ec2-describe-snapshots|find /i "%dateDOW%: Daily Backup for">%AWS_HOME%\SnapshotsDOM.txt :: Create a file of instances filtering on the instance tag Name ec2-describe-instances|find /i "TAG"|find /i "Name">%AWS_HOME%\InstanceNames.txt :: Create snapshots of all attached volumes for /F "tokens=2,3" %%d IN (%AWS_HOME%\Volumes.txt) do for /F "tokens=3,5" %%a IN (%AWS_HOME%\InstanceNames.txt) do if %%a EQU %%e ec2-create-snapshot %%d -d "%dateDayOfMonth%: Daily Backup for %%b (VolID:%%d InstID:%%e)" ::Delete old Snapshots listet in SnapshotsDOM.txt for /F "tokens=2" %%i in (%AWS_HOME%\SnapshotsDOM.txt) do ec2-delete-snapshot %%i pause
Das ganze Skript basiert auf einer Vorlage von Mark Sehmer, ich habe nur ein paar Änderungen durchgeführt, damit es bei mir auch funktioniert.