Verwenden eines Skripts, das Duplicity + S3 verwendet, wobei große Dateien ausgeschlossen werden

1633
Jason

Ich versuche, ein Backup-Skript zu schreiben, das Dateien mit einer bestimmten Größe ausschließt.

Wenn ich das Skript starte, gibt duplicity einen Fehler aus. Wenn ich jedoch den gleichen Befehl kopiere und einfügen, funktioniert alles ...

Hier ist das Skript

 #!/bin/bash # Export some ENV variables so you don't have to type anything export AWS_ACCESS_KEY_ID="accesskey" export AWS_SECRET_ACCESS_KEY="secretaccesskey" export PASSPHRASE="password"  SOURCE=/home/ DEST=s3+http://s3bucket  GPG_KEY="gpgkey"  # exclude files over 100MB exclude () { find /home/jason -size +100M \ | while read FILE; do  echo -n " --exclude " echo -n \'**$\' | sed 's/\ /\\ /g' #Replace whitespace with "\ " done }  echo "Using Command" echo "duplicity --encrypt-key=$GPG_KEY --sign-key=$GPG_KEY `exclude` $SOURCE $DEST"  duplicity --encrypt-key=$GPG_KEY --sign-key=$GPG_KEY `exclude` $SOURCE $DEST  # Reset the ENV variables. export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export PASSPHRASE= 

Wenn das Skript ausgeführt wird, erhalte ich die Fehlermeldung.

 Command line error: Expected 2 args, got 6 

Wo gehe ich falsch ??

1

1 Antwort auf die Frage

1
Jason

Ich habe das Problem gelöst..

 #!/bin/bash # Export some ENV variables so you don't have to type anything export AWS_ACCESS_KEY_ID="accesskey" export AWS_SECRET_ACCESS_KEY="secretaccesskey" export PASSPHRASE="password"  SOURCE=/home/ DEST=s3+http://s3bucket  GPG_KEY="gpgkey"  # Generate a filelist of excluded files over 100MB find $SOURCE -size +100M > /tmp/filelist  duplicity --exclude-filelist /tmp/filelist --encrypt-key=$GPG_KEY --sign-key=$GPG_KEY $SOURCE $DEST  # Reset the ENV variables. export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export PASSPHRASE=