* [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.