X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fmanage-git-mirror.sh;h=78489ecdc969d885b3d29ae034c758c634706b73;hb=HEAD;hp=6a18543054de3634a338ed5ba5c4d5ce0b9bcd89;hpb=e4341910b40aac630370a03cac672a7b1257b500;p=infrastructure.git diff --git a/scripts/manage-git-mirror.sh b/scripts/manage-git-mirror.sh index 6a18543..78489ec 100755 --- a/scripts/manage-git-mirror.sh +++ b/scripts/manage-git-mirror.sh @@ -6,8 +6,8 @@ COMMAND=$(basename $0) function stop () { while true; do echo -n . - ls /git-mirror/RUNNING_MIRROR >& /dev/null || { - touch /git-mirror/RUNNING_MIRROR + ls /git-mirror/LOCK >& /dev/null || { + touch /git-mirror/LOCK echo "OK, git-mirror stopped for an hour" break } @@ -16,13 +16,44 @@ function stop () { } function start () { - rm /git-mirror/RUNNING_MIRROR + if pgrep git-mirror >& /dev/null; then + echo "git-mirror instance is running" + else + echo "Cleaned LOCK" + rm /git-mirror/LOCK + fi +} + +function status () { + pids=$(pgrep git-mirror) + if [ -n "$pids" ] ; then + echo "Active processes" + ps $pids + else + echo "No running instance of git-mirror" + fi + echo "Lock file status" + ls -l /git-mirror/LOCK +} + +function clean () { + totrash=$(ls /git-mirror/*/NOTIFIED 2> /dev/null) + if [ -z "$totrash" ] ; then + echo "No NOTIFIED file found" + else + echo "Trashing the following files" + ls -l $totrash + rm -f $totrash + echo Done + fi } function main () { case $1 in start) start;; stop) stop;; + status) status;; + clean) clean;; *) echo "Usage: $COMMAND start|stop";; esac }