Richard Felkl | 5ab623d | 2017-11-22 16:35:53 +0100 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | CLEANUP_SNAPSHOTS=0 |
| 3 | RECREATE=0 |
| 4 | FORCE_OVERWRITE=0 |
| 5 | PUBLISHER_OPTIONS="" |
| 6 | while getopts "c?f?r?" option |
| 7 | do |
| 8 | case "${option}" |
| 9 | in |
| 10 | c|\?) CLEANUP_SNAPSHOTS=1;; |
| 11 | f|\?) FORCE_OVERWRITE=1;; |
| 12 | r|\?) RECREATE=1;; |
| 13 | esac |
| 14 | done |
| 15 | if [ $CLEANUP_SNAPSHOTS -eq 1 ]; then |
| 16 | echo "Cleanup" |
| 17 | PUBLISH_LIST="$(aptly publish list --raw)" |
| 18 | if [ "$PUBLISH_LIST" != "" ]; then |
| 19 | echo "===> Deleting all publishes" |
| 20 | echo $PUBLISH_LIST | awk '{print $2, $1}' | xargs -n2 aptly publish drop |
| 21 | fi |
| 22 | SNAPSHOT_LIST="$(aptly snapshot list --raw)" |
| 23 | if [ "$SNAPSHOT_LIST" != "" ]; then |
| 24 | echo "===> Deleting all snapshots" |
| 25 | echo $SNAPSHOT_LIST | grep -E '*' | xargs -n 1 aptly snapshot drop |
| 26 | fi |
| 27 | fi |
| 28 | aptly_mirror_update.sh -v -s |
| 29 | if [[ $? -ne 0 ]]; then |
| 30 | echo "Aptly mirror update failed." |
| 31 | exit 1 |
| 32 | fi |
| 33 | nohup aptly api serve --no-lock > /dev/null 2>&1 </dev/null & |
| 34 | if [ $RECREATE -eq 1 ]; then |
| 35 | echo "Recreate" |
| 36 | PUBLISHER_OPTIONS+=" --recreate" |
| 37 | fi |
| 38 | if [ $FORCE_OVERWRITE -eq 1 ]; then |
| 39 | PUBLISHER_OPTIONS+=" --force-overwrite" |
| 40 | fi |
| 41 | echo "aptly-publisher --timeout=1200 publish -v -c /etc/aptly-publisher.yaml --url http://127.0.0.1:8080 $PUBLISHER_OPTIONS" |
| 42 | if [[ $? -ne 0 ]]; then |
| 43 | echo "Aptly Publisher failed." |
| 44 | exit 1 |
| 45 | fi |
| 46 | ps aux | grep -i "aptly api serve" | awk '{print $2}' | xargs kill -9 |
| 47 | aptly db cleanup |
| 48 | exit 0 |