diff --git a/backupninja/client.sls b/backupninja/client.sls
index 0c757c4..8ae8711 100644
--- a/backupninja/client.sls
+++ b/backupninja/client.sls
@@ -77,6 +77,17 @@
   pkg.installed:
   - names:
     - duplicity
+
+duplicity_salt:
+  file.managed:
+  - name: /usr/local/sbin/duplicity_salt.sh
+  - source: salt://backupninja/files/duplicity_salt.sh
+  - template: jinja
+  - mode: 700
+  - user: root
+  - group: root
+  - require:
+    - pkg: backupninja_packages
 {%- endif %}
 
 {%- if client.target.engine in ["rdiff",] %}
diff --git a/backupninja/files/duplicity_salt.sh b/backupninja/files/duplicity_salt.sh
new file mode 100644
index 0000000..f32f270
--- /dev/null
+++ b/backupninja/files/duplicity_salt.sh
@@ -0,0 +1,64 @@
+{%- from "backupninja/map.jinja" import client, service_grains with context -%}
+#!/bin/bash
+
+DUPLICITY_ARGS="--no-encryption --progress --ssl-cacert-file={{ client.cacert_file }}"
+BACKUP_URL="{{ client.target.url }}"
+
+while getopts :f:d:v: opt; do
+    case "$opt" in
+        "f") FILE="${OPTARG}" ;;
+        "d") DEST="${OPTARG}" ;;
+        "v") set -x ;;
+        "?") echo "Unknown option $opt"; exit 1 ;;
+        ":") echo "No argument value for $opt"; exit 1 ;;
+    esac
+done
+shift $((OPTIND-1))
+
+action_prepare() {
+    trap action_cleanup INT TERM EXIT
+    {%- if client.target.auth.gss is defined %}
+    kinit -kt {{ client.target.auth.gss.get("keytab", "/etc/krb5.keytab") }} {{ client.target.auth.gss.get("principal", "host/$(hostname -f)") }}
+    {%- else %}
+    return 0
+    {%- endif %}
+}
+
+action_cleanup() {
+    trap true INT TERM EXIT
+    {%- if client.target.auth.gss is defined %}
+    kdestroy || true
+    {%- else %}
+    return 0
+    {%- endif %}
+}
+
+restore() {
+    RESTORE_ARGS=""
+    [ ! -z "$FILE" ] && RESTORE_ARGS="${RESTORE_ARGS} --file-to-restore=${FILE}"
+    duplicity ${DUPLICITY_ARGS} restore ${BACKUP_URL} "${DEST}" ${RESTORE_ARGS}
+}
+
+status() {
+    duplicity ${DUPLICITY_ARGS} collection-status ${BACKUP_URL}
+}
+
+list_files() {
+    duplicity ${DUPLICITY_ARGS} list-current-files ${BACKUP_URL}
+}
+
+usage() {
+    echo "Usage: $0 [restore|list-files|status]"
+    echo "  restore    - restore files from backup"
+    echo "               Usage: $0 restore -f [file_to_restore] -d [destination]"
+    echo "  list-files - list last backup files"
+    echo "  status     - show collection status"
+    exit 1
+}
+
+case $1 in
+    restore) action_prepare && restore ;;
+    status) action_prepare && status ;;
+    list-files) action_prepare && list_files ;;
+    *) usage ;;
+esac
