回答編集履歴

1

追記

2019/01/11 04:54

投稿

moonphase
moonphase

スコア6621

test CHANGED
@@ -11,3 +11,61 @@
11
11
  ファイルリストそのものが正しいかどうかは、同期時に全てがエラーとならなければOKです。
12
12
 
13
13
  同期する大元が何個あるかはご自身で把握されていますよね?
14
+
15
+
16
+
17
+ 実装イメージ(アップロードするときに検証)
18
+
19
+
20
+
21
+ ```
22
+
23
+ #!/bin/sh
24
+
25
+
26
+
27
+ SRC_DIR=./local
28
+
29
+ BUCKET=hogehoge
30
+
31
+
32
+
33
+ LIST=`find "${SRC_DIR}" -type f -print`
34
+
35
+
36
+
37
+ S3API_ST=0
38
+
39
+ for i in $LIST
40
+
41
+ do
42
+
43
+ MD5=`openssl dgst -md5 -binary $i | openssl enc -base64`
44
+
45
+ ETAG=`aws s3api put-object --bucket ${BUCKET} --key $i --content-md5 $MD5 --body $i | jq -r '.ETag' | sed 's/"//g`
46
+
47
+ if [ $S3API_ST -eq 0 -a "${ETAG}" = "" ]
48
+
49
+ then
50
+
51
+ S3API_ST=1
52
+
53
+ fi
54
+
55
+ done
56
+
57
+
58
+
59
+ if [ $S3API_ST -eq 0 ]
60
+
61
+ then
62
+
63
+ echo "OK"
64
+
65
+ else
66
+
67
+ echo "ERR"
68
+
69
+ fi
70
+
71
+ ```