File: takedown

package info (click to toggle)
chiark-utils 4.1.10
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 752 kB
  • ctags: 482
  • sloc: perl: 2,902; ansic: 1,951; sh: 777; makefile: 260; tcl: 228
file content (69 lines) | stat: -rwxr-xr-x 2,115 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/sh
# takedown
# Entry point for cron to take the system down for backups
#
# This file is part of chiark backup, a system for backing up GNU/Linux and
# other UN*X-compatible machines, as used on chiark.greenend.org.uk.
#
# chiark backup is:
#  Copyright (C) 1997-1998,2000-2001 Ian Jackson <ian@chiark.greenend.org.uk>
#  Copyright (C) 1999 Peter Maydell <pmaydell@chiark.greenend.org.uk>
#
# This is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# This is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

# Expects a single (possibly empty) argument X which is used to select
# a file /etc/chiark-backup/warnings.X. This file will contain lines like:
# T 300 "in 10 minutes"
# T 240 "in 5 minutes"
# T 45 "in 1 minute"
# T 15 "in 15 seconds"
# configuring the frequency of warning messages. If you call the 
# files 'warnings.soon', 'warnings.now' and 'warnings.' then
# you can invoke this as:
#   takedown                     lots of warnings
#   takedown soon                not so many warnings
#   takedown now                 no warning at all

set -e
cd /etc/chiark-backup

host="`hostname`" || true

T () {
	(
		exec wall <<END &
 *** WARNING - SYSTEM GOING DOWN FOR BACKUPS ***
 $host will shut down automatically $2.

END
	) &
	sleep $1
}

. "warnings.$1"

(
	exec wall <<END &
 *** WARNING - SYSTEM GOING DOWN FOR BACKUPS ***

  $host is shutting down IMMEDIATELY.

END
) &
sleep 1

# We assume that runlevel 5 is set up suitably for doing backups
# (ie non-essential services turned off in an effort to get the
# tape to stream.)
telinit 5