diff --git a/aptly/files/aptly_mirror_update.sh b/aptly/files/aptly_mirror_update.sh
index e61e7a4..3deb8ac 100755
--- a/aptly/files/aptly_mirror_update.sh
+++ b/aptly/files/aptly_mirror_update.sh
@@ -1,71 +1,90 @@
 #!/bin/bash
-
+try=0
+retval=666
 SCRIPT=$(basename $0)
 MAXTRIES=3
 VERBOSE=0
 SNAPSHOT=0
+MIRROR=""
 
 log_info() {
-	logger -p user.info -t ${SCRIPT} "$*"
-	[ $VERBOSE -eq 1 ] && echo "[INFO] $*"
+    logger -p user.info -t ${SCRIPT} "$*"
+    [ $VERBOSE -eq 1 ] && echo "[INFO] $*"
 }
 
 log_error() {
-	logger -p user.error -t ${SCRIPT} "$*"
-	echo "[ERROR] $*" >&2
+    logger -p user.error -t ${SCRIPT} "$*"
+    echo "[ERROR] $*" >&2
 }
 
-if [[ "$*" == *--verbose* || "$*" == *-v* ]]; then
-	VERBOSE=1
-fi
+update_mirror() {
+    if [[ "$1" == "" ]]; then
+        log_error "Mirror has to be specified."
+        exit 3
+    fi
+    while [[ $retval -ne 0 && $try -lt $MAXTRIES ]]; do
+        log_info "Starting update of mirror ${1}"
+        if [[ $VERBOSE -eq 0 ]]; then
+            out=$(aptly mirror update -force=true ${1} >/dev/null 2>&1)
+        else
+            aptly mirror update -force=true ${1}
+        fi
 
-if [[ "$*" == *--snapshot* || "$*" == *-s* ]]; then
-	SNAPSHOT=1
-fi
+        retval=$?
 
-MIRRORS=$(aptly mirror list --raw 2>&1)
-if [[ $? -ne 0 ]]; then
-	log_error "$MIRRORS"
-	exit 1
-fi
+        if [[ $retval -ne 0 ]]; then
+            try=$[ $try + 1 ]
+            log_error "Failed to update mirror ${1}, try=${try}"
+            [ ! -z "$out" ] && log_error "${out}"
+        else
+            log_info "Synced mirror ${1}"
+            if [[ $SNAPSHOT -eq 1 ]]; then
+                snapshot_name="${1}-$(date +%s)"
+                if [[ $VERBOSE -eq 0 ]]; then
+                    out=$(aptly snapshot create ${snapshot_name} from mirror ${1} >/dev/null 2>&1)
+                else
+                    aptly snapshot create ${snapshot_name} from mirror ${1}
+                fi
 
-for mirror in $MIRRORS; do
-	try=0
-	retval=666
+                retval=$?
+                if [[ $retval -ne 0 ]]; then
+                    log_error "Failed to create snapshot ${snapshot_name} from mirror ${1}"
+                    [ ! -z "$out" ] && log_error "$out"
+                else
+                    log_info "Created snapshot ${snapshot_name} from mirror ${1}"
+                fi
+            fi
+            break
+        fi
+    done
+    try=0
+    retval=666
+}
 
-	while [[ $retval -ne 0 && $try -lt $MAXTRIES ]]; do
-		log_info "Starting update of mirror ${mirror}"
-		if [[ $VERBOSE -eq 0 ]]; then
-			out=$(aptly mirror update -force=true ${mirror} >/dev/null 2>&1)
-		else
-			aptly mirror update -force=true ${mirror}
-		fi
-
-		retval=$?
-
-		if [[ $retval -ne 0 ]]; then
-			try=$[ $try + 1 ]
-			log_error "Failed to update mirror ${mirror}, try=${try}"
-			[ ! -z "$out" ] && log_error "${out}"
-		else
-			log_info "Synced mirror ${mirror}"
-			if [[ $SNAPSHOT -eq 1 ]]; then
-				snapshot_name="${mirror}-$(date +%s)"
-				if [[ $VERBOSE -eq 0 ]]; then
-					out=$(aptly snapshot create ${snapshot_name} from mirror ${mirror} >/dev/null 2>&1)
-				else
-					aptly snapshot create ${snapshot_name} from mirror ${mirror}
-				fi
-
-				retval=$?
-				if [[ $retval -ne 0 ]]; then
-					log_error "Failed to create snapshot ${snapshot_name} from mirror ${mirror}"
-					[ ! -z "$out" ] && log_error "$out"
-				else
-					log_info "Created snapshot ${snapshot_name} from mirror ${mirror}"
-				fi
-			fi
-			break
-		fi
-	done
+while getopts "m:s?v?"  option
+do
+ case "${option}"
+ in
+ m|\?) MIRROR=${OPTARG};;
+ s|\?) SNAPSHOT=1;;
+ v|\?) VERBOSE=1;;
+ esac
 done
+
+if [[ "$MIRROR" != "" ]]; then
+    MIRROR_DETAIL=$(aptly mirror show ${MIRROR})
+    if [[ $? -ne 0 ]]; then
+        log_error "$MIRROR_DETAIL"
+        exit 1
+    fi
+    update_mirror "${MIRROR}"
+else
+    MIRRORS=$(aptly mirror list --raw 2>&1)
+    if [[ $? -ne 0 ]]; then
+        log_error "$MIRRORS"
+        exit 1
+    fi
+    for mirror in $MIRRORS; do
+        update_mirror "${mirror}"
+    done
+fi
diff --git a/aptly/files/aptly_publish_update.sh b/aptly/files/aptly_publish_update.sh
new file mode 100644
index 0000000..cbc8ca5
--- /dev/null
+++ b/aptly/files/aptly_publish_update.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+CLEANUP=0
+VERBOSE=0
+START_API=0
+RECREATE=0
+FORCE_OVERWRITE=0
+PUBLISHER_OPTIONS=""
+
+log_info() {
+    logger -p user.info -t ${SCRIPT} "$*"
+    [ $VERBOSE -eq 1 ] && echo "[INFO] $*"
+}
+
+log_error() {
+    logger -p user.error -t ${SCRIPT} "$*"
+    echo "[ERROR] $*" >&2
+}
+
+at_exit() {
+    pgrep -f "aptly api serve" | xargs kill -15
+}
+trap at_exit EXIT
+
+while getopts "a?c?f?r?v?"  option
+do
+ case "${option}"
+ in
+ a|\?) START_API=1;;
+ c|\?) CLEANUP=1;;
+ f|\?) FORCE_OVERWRITE=1;;
+ r|\?) RECREATE=1;;
+ v|\?) VERBOSE=1;;
+ esac
+done
+
+if [[ $START_API -eq 1 ]]; then
+    nohup aptly api serve --no-lock > /dev/null 2>&1 </dev/null &
+fi
+if [[ $RECREATE -eq 1 ]]; then
+    PUBLISHER_OPTIONS+=" --recreate"
+fi
+if [[ $FORCE_OVERWRITE -eq 1 ]]; then
+     PUBLISHER_OPTIONS+=" --force-overwrite"
+fi
+
+aptly-publisher --timeout=1200 publish -v -c /etc/aptly-publisher.yaml --url http://127.0.0.1:8080 --architectures amd64 $PUBLISHER_OPTIONS
+
+if [[ $? -ne 0 ]]; then
+    echo "Aptly Publisher failed."
+    exit 1
+fi
+
+if [[ $CLEANUP -eq 1 ]]; then
+    SNAPSHOT_LIST="$(aptly snapshot list --raw)"
+    if [[ "$SNAPSHOT_LIST" != "" ]]; then
+        log_info "Deleting unpublished snapshots"
+        echo $SNAPSHOT_LIST | grep -E '*' | xargs -n 1 aptly snapshot drop
+    fi
+    log_info "Cleaning Aptly DB"
+    aptly db cleanup
+fi
+exit 0
\ No newline at end of file
diff --git a/aptly/publisher.sls b/aptly/publisher.sls
index 0ddb9ee..21f32c2 100644
--- a/aptly/publisher.sls
+++ b/aptly/publisher.sls
@@ -51,6 +51,14 @@
 
 {%- endif %}
 
+aptly_publish_script:
+  file.managed:
+  - name: /usr/local/bin/aptly_publish_update.sh
+  - source: salt://aptly/files/aptly_publish_update.sh
+  - user: root
+  - group: root
+  - mode: 755
+
 publisher_yaml:
   file.managed:
   - name: /etc/aptly-publisher.yaml
