一个网站,使用了cdn,全国各地有几十个节点。需要你写一个shell脚本来监控各个节点是否正常。 假如
- 监控的url为www.aming.com/index.php
- 源站ip为88.88.88.88。
核心要点
- 某个节点正常,那访问到的内容应该和源站上的一致。
- 比较两个文件内容是否有差异的命令为diff,如
diff 1.txt 2.txt
结果为空,说明两个文件中不存在差异。 - 几十个节点,需要把所有的节点的IP全部拿到,然后对所有的IP进行遍历。
diff 比较文件或者目录
1)比较文件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#test1内容
cat test1.txt
11
XX
22
33
44
#test2内容
cat test2.txt
11
22
aa
44
bb
#对比两个文件 以第二个文件为目标 <表示第一个文件要删除的第一个文件内容 >表示第一个文件要添加的第二个文件内容
#2d1 表示第一个文件的第二行删除xx,那么和第二个文件的第一行就同步了
#4c3 表示第一个文件的第四行把33替换为aa后,那么和第二个文件的第三行就同步了
#5a5 表示第一个文件的第五行后添加bb,么和第二个文件的第五行就同步了
diff test1.txt test2.txt
2d1
< xx
4c3
< 33
---
> aa
5a5
> bb
#-u 比较结果以Unified模式显示 -表示删除 +表示添加 针对第一个文件而言
diff -u a/test1.txt b/test2.txt
--- a/test1.txt 2019-12-14 20:22:24.848523154 +0800
+++ b/test2.txt 2019-12-14 20:14:46.077961655 +0800
@@ -1,5 +1,5 @@
11
-xx
22
-33
+aa
44
+bb
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#a目录
tree a
a
├── test1.txt
└── test3.txt
#b目录
tree b
b
├── test2.txt
└── test3.txt
#比较两个目录 显示出独立在每个目录的文件,同名的文件会比较出内容
diff a b
Only in a: test1.txt
Only in b: test2.txt
diff a/test3.txt b/test3.txt
2d1
< xx
4c3
< 33
---
> aa
5a5
> bb
# -r 遍历子目录 -q 隐藏同名文件内容不同的比较结果
diff -rq a b
Only in a: test1.txt
Only in b: test2.txt
Files a/test3.txt and b/test3.txt differ
代码内容
1 |
|