blob: 28c80a07df2e9b8e96cdb413dda1b1b0be04a537 (
plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
#!/bin/sh
#
# Copyright (c) 2013 Nagios Plugins Development Team
#
# Originally written by Holger Weiss <holger@zedat.fu-berlin.de>.
#
# This file is free software; the Nagios Plugins Development Team gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY, to the extent permitted by law; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
mirrors='
ftp://ftp.fu-berlin.de/unix/network/nagios-plugins/
ftp://ftp.lysator.liu.se/pub/nagios-plugins/
ftp://mirror.mephi.ru/nagios-plugins/
ftp://mirrors.ustc.edu.cn/nagios-plugins/
'
#
# Our mirrors:
#
# GERMANY
#
# URLs:
# - ftp://ftp.fu-berlin.de/unix/network/nagios-plugins/
#
# Features:
# - IPv4
# - 10 GBit/s
#
# Contacts:
# - Mirror Admins <ftp AT fu-berlin.de>
# - Holger Weiss <holger AT zedat.fu-berlin.de>
#
# Home page:
# - http://www.fu-berlin.de/en/
#
# SWEDEN
#
# URLs:
# - ftp://ftp.lysator.liu.se/pub/nagios-plugins/
# - http://ftp.lysator.liu.se/pub/nagios-plugins/
# - https://ftp.lysator.liu.se/pub/nagios-plugins/
# - rsync://ftp.lysator.liu.se/pub/nagios-plugins/
#
# Features:
# - IPv4
# - IPv6
# - 1 GBit/s
#
# Contacts:
# - Mirror Admins <ftp-master AT lysator.liu.se>
# - Niclas Zeising <zeising AT lysator.liu.se>
#
# Home page:
# - http://www.lysator.liu.se/english.html
#
# RUSSIA
#
# URLs:
# - ftp://mirror.mephi.ru/nagios-plugins/
# - http://mirror.mephi.ru/nagios-plugins/
# - rsync://mirror.mephi.ru/nagios-plugins/
#
# Features:
# - IPv4
#
# Contacts:
# - Mirror Admins <mirror-private AT ut.mephi.ru>
# - Andrew Savchenko <bircoph AT ut.mephi.ru>
# - Dmitry Okunev <dyokunev AT ut.mephi.ru>
#
# Home page:
# - http://eng.mephi.ru/
#
# CHINA
#
# URLs:
# - ftp://mirrors.ustc.edu.cn/nagios-plugins/
# - http://mirrors.ustc.edu.cn/nagios-plugins/
# - rsync://mirrors.ustc.edu.cn/nagios-plugins/
#
# Features:
# - IPv4
# - IPv6
#
# Contacts:
# - Mirror Admins <lug AT ustc.edu.cn>
# - Roy Zhang <pudh4418 AT gmail.com>
#
# Home page:
# - http://lug.ustc.edu.cn/
#
set -e
set -u
umask 022
export PATH='/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin'
prefix='/home/plugins'
myself=${0##*/}
download_dir="$prefix/web/download"
temp_dir=$(mktemp -d "/tmp/$myself.XXXXXX")
trap 'rm -rf "$temp_dir"' EXIT
cd "$temp_dir"
date -d 'yesterday' '+%F' >'expected'
for mirror in $mirrors
do
url="${mirror%/}/timestamp"
if curl -s -S -O -m 600 --ftp-method 'nocwd' "$url" >'curl.log' 2>&1
then
cmp -s 'expected' 'timestamp' \
|| echo >&2 "$mirror is outdated ($(cat 'timestamp'))."
else
echo >&2 "Cannot fetch $url: $(cat 'curl.log')"
fi
done
cd "$OLDPWD"
date '+%F' >"$download_dir/timestamp"
|