crontabs.sh moves over to diana/
authorparmentelat <thierry.parmentelat@inria.fr>
Thu, 6 Dec 2018 09:42:56 +0000 (10:42 +0100)
committerparmentelat <thierry.parmentelat@inria.fr>
Thu, 6 Dec 2018 09:42:56 +0000 (10:42 +0100)
scripts/crontabs.sh [deleted file]

diff --git a/scripts/crontabs.sh b/scripts/crontabs.sh
deleted file mode 100755 (executable)
index 3f9ebf9..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-#!/bin/bash
-
-# utility for gathering your crontab file on miscell hosts
-# 
-# relies on a config file named
-# ~/.crontabsrc
-# 
-# SYNTAX
-#
-# COMMENTS: line containing a sharp (#)
-# 
-# any other line should be a HOST declaration like this
-# [method:][username@]hostname
-#
-# defaults :
-# (*) method defaults to ssh:
-# (*) username defaults to $DEF_USER
-
-# examples
-#
-# foo
-#      =>      ssh:yourlogin@foo
-# rsh:bar
-#      =>      rsh:yourlogin@bar
-# joe@tutu
-#      =>      ssh:joe@tutu
-# localhost
-#      =>      local:nologin@$(hostname)
-
-# the config file can optionnally get passed as an argument
-
-COMMAND=$(basename $0)
-
-DEF_CONFIG="$HOME/.$(basename ${COMMAND} .sh)rc"
-
-OPT_VERBOSE="true" 
-OPT_VERSION="" 
-
-### try different ways to get username
-# linux
-DEF_USER="$(id --user --name 2>/dev/null)"
-# macintosh : id does not accept this syntax
-[[ -z "$DEF_USER" ]] && DEF_USER="$LOGNAME"
-# some other systems I met 
-[[ -z "$DEF_USER" ]] && DEF_USER="$USER"
-# still not found ? let's bail out
-if [[ -z "$DEF_USER" ]] ; then
-  echo "$COMMAND : could not get DEF_USER - emergency exit"
-  exit 1
-fi
-
-usage () {
-
-  echo "Usage: $0 [config-file]"
-  echo "  default config file is $DEF_CONFIG"
-  echo "Config file syntax :"
-  echo "  line containing a # is taken as a comment"
-  echo "  other lines should match the following syntax"
-  echo "  [method:][username@]hostname"
-  echo "Defaults:"
-  echo "  method defaults to ssh (as opposed to rsh or local)"
-  echo "  username defaults to $DEF_USER"
-}
-
-####################
-info () {
-  if [ -n "$OPT_VERBOSE" ] ; then
-    echo "INFO : $@"
-  fi
-}
-
-error () {
-  echo "ERROR : $@"
-}
-
-####################
-parse_config () {
-  config=$1; shift
-
-  if [ ! -f $config ] ; then
-    error "$config not found"
-    exit 1
-  fi
-
-  descriptions=$(grep -v '#' $config)
-
-  for desc in $descriptions ; do
-
-    ###defaults
-    method=ssh
-    user="$DEF_USER"
-    case $desc in
-      *:*@*)
-       method=$(echo $desc | sed -e 's,:.*$,,')
-       user=$(echo $desc | sed -e 's,^.*:,,' -e 's,@.*$,,')
-       host=$(echo $desc | sed -e 's,^.*@,,')
-       ;;
-      *:*)
-       method=$(echo $desc | sed -e 's,:.*$,,')
-       host=$(echo $desc | sed -e 's,^.*:,,')
-       ;;
-      *@*)
-       user=$(echo $desc | sed -e 's,@.*$,,')
-       host=$(echo $desc | sed -e 's,^.*@,,')
-       ;;
-      *)
-       host=$desc
-       ;;
-    esac
-
-    if [ "$host" == localhost ] ; then
-      host="$(hostname)"
-      method="local"
-    fi
-
-    case $method in
-      rsh|ssh|local)
-       get_crontab $method "$user" $host
-       ;;
-      *)
-       error "ERROR: $desc - method must be rsh, ssh or local"
-       break
-       ;;
-    esac
-
-  done
-}
-
-####################
-get_crontab () {
-  method=$1; shift
-  user=$1; shift
-  host=$1; shift
-
-  ## where to backup
-  if [ "$user" = "$DEF_USER" ] ; then
-    backup=~/.crontab-$host
-  else
-    backup=~/.crontab-$host-"$user"
-  fi
-
-  info "getting crontab for $user on $host with method $method into $backup"
-
-  ## temporary - overwites backup only if needed
-  tmp=/tmp/$COMMAND-$$.txt
-
-  case $method in
-    local)
-      crontab -l
-      ;;
-    ssh)
-      ssh "$user"@$host crontab -l
-      ;;
-    rsh)
-      rsh -l "$user" $host crontab -l
-      ;;
-  esac > $tmp 2> /dev/null
-
-  if [ "$?" != 0 ] ; then
-    ### info and not error : allow for too extensive crontabsrc
-    info " could not get crontab on $host"
-    rm -f $tmp
-    return 1
-  fi
-
-  diff $tmp $backup > /dev/null 2>&1
-
-  if [ "$?" != 0 ] ; then
-    ## files differ
-    cp $tmp $backup
-    if [ "$?" = 0 ] ; then
-      info "crontab on host $host saved in $backup"
-    else
-      error "could not overwrite $backup"
-    fi
-  else
-    info "no changes in crontab on $host - kept $backup"
-    rm -f $tmp
-  fi
-}
-####################
-main () {
-
-  while [[ -n "$@" ]] ; do
-    case "$1" in
-      -s*|--silent*)
-       OPT_VERBOSE="" ; shift ;;
-      -v*|--version*)
-       OPT_VERSION="true" ; shift ;;
-      -*)
-       usage ; exit 1 ;;
-      *)
-       break ;;
-    esac
-  done
-
-  if [ -n "$OPT_VERSION" ] ; then
-    echo "This is $COMMAND"
-    exit 0
-  fi
-
-  if [[ -n "$@" ]] ; then
-    CONFIG=$1; shift
-  else
-    CONFIG=$DEF_CONFIG
-    [ -f $CONFIG ] || echo localhost > $CONFIG
-  fi
-
-  parse_config $CONFIG
-}
-
-####################
-main "$@"