All of lore.kernel.org
 help / color / mirror / Atom feed
* [OSSTEST PATCH] crontabs: Provide way to install crontabs, with a safety catch
@ 2015-09-28 10:15 Ian Jackson
  2015-09-28 10:24 ` Ian Campbell
  0 siblings, 1 reply; 2+ messages in thread
From: Ian Jackson @ 2015-09-28 10:15 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson, Ian Campbell

With this setup you can say
  ./mg-crontab-install CRONTAB
or even
  ./crontab
  ./crontab-cambridge

And you can't accidentally install the intended crontab on the wrong
host, etc.  (As I did recently!)

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 crontab            |    3 +++
 crontab-cambridge  |    3 +++
 mg-crontab-install |   28 ++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+)
 mode change 100644 => 100755 crontab
 mode change 100644 => 100755 crontab-cambridge
 create mode 100755 mg-crontab-install

diff --git a/crontab b/crontab
old mode 100644
new mode 100755
index b9d4ad1..6fd5704
--- a/crontab
+++ b/crontab
@@ -1,3 +1,6 @@
+#!/bin/bash ./mg-crontab-install
+#@@ osstest@osstest.test-lab.xenproject.org
+
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 MAILTO=ian.jackson@citrix.com,ian.campbell@eu.citrix.com
 # m		h	dom mon dow	command
diff --git a/crontab-cambridge b/crontab-cambridge
old mode 100644
new mode 100755
index b45c0dd..2ababb0
--- a/crontab-cambridge
+++ b/crontab-cambridge
@@ -1,3 +1,6 @@
+#!/bin/bash ./mg-crontab-install
+#@@ osstest@osstest.xs.citrite.net
+
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 MAILTO=ian.jackson@citrix.com,ian.campbell@eu.citrix.com
 # m		h	dom mon dow	command
diff --git a/mg-crontab-install b/mg-crontab-install
new file mode 100755
index 0000000..5a59d45
--- /dev/null
+++ b/mg-crontab-install
@@ -0,0 +1,28 @@
+#!/bin/bash
+# usage: ./mg-crontab-install CRONTAB
+#
+# where CRONTAB is a file containing a line
+#  #@@ USER@HOSTFQDN
+
+set -e -o posix
+
+case "$#.$1" in
+1.[^-]*) crontab="$1"; shift ;;
+*) echo >&2 "bad usage"; exit 1 ;;
+esac
+
+expect="#@@ "
+expect+="`whoami`"
+expect+="@"
+expect+="`hostname -f`"
+
+if ! grep -xF "$expect" "$crontab" >/dev/null; then
+	exec >&2
+	echo "running as: $expect"
+	printf "file is for: "
+	grep '^#@@' "$crontab" || echo "no #@@ line?"
+	exit 2
+fi
+
+crontab "$crontab"
+echo "crontab installed ($expect)"
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [OSSTEST PATCH] crontabs: Provide way to install crontabs, with a safety catch
  2015-09-28 10:15 [OSSTEST PATCH] crontabs: Provide way to install crontabs, with a safety catch Ian Jackson
@ 2015-09-28 10:24 ` Ian Campbell
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Campbell @ 2015-09-28 10:24 UTC (permalink / raw)
  To: Ian Jackson, xen-devel

On Mon, 2015-09-28 at 11:15 +0100, Ian Jackson wrote:
> With this setup you can say
>   ./mg-crontab-install CRONTAB
> or even
>   ./crontab
>   ./crontab-cambridge
> 
> And you can't accidentally install the intended crontab on the wrong
> host, etc.  (As I did recently!)
> 
> Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-09-28 10:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-28 10:15 [OSSTEST PATCH] crontabs: Provide way to install crontabs, with a safety catch Ian Jackson
2015-09-28 10:24 ` Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.