質問編集履歴

11

追記

2019/01/04 08:03

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
 
108
108
 
109
- 追記:
109
+ # 追記:
110
110
 
111
111
 
112
112
 
@@ -133,3 +133,37 @@
133
133
  logrotate や AWS コマンド以外に
134
134
 
135
135
  (Rails のログ機能内に圧縮とS3へ転送を行うコードを追加するとか)方法はないでしょうか
136
+
137
+
138
+
139
+
140
+
141
+ # 追記:
142
+
143
+
144
+
145
+ lastaction 内に
146
+
147
+ `cp /.../staging.log*.gz /tmp/`
148
+
149
+ というコマンドを追加したところコピーはされたのですが /tmp/ に生成されたファイル所持者は root になっています
150
+
151
+ log ディレクトリに生成される圧縮ファイルはログイン権限のある別の <user> なのですが
152
+
153
+
154
+
155
+ lastaction 内のコマンドを
156
+
157
+ `sudo -u <user> aws s3 mv /.../staging.log*.gz s3://...`
158
+
159
+ と変更してみましたがやはり転送されません
160
+
161
+
162
+
163
+ <user> になって aws 以降のコマンドをうてば転送されます
164
+
165
+ sudo から全体をうっても転送されます
166
+
167
+
168
+
169
+ cron から lastaction にかいた aws コマンドだけがどうしても実行できません…

10

質問内容の修正

2019/01/04 08:03

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -124,4 +124,12 @@
124
124
 
125
125
  logroteta から起動した場合に aws コマンドがうまく動く方法はないでしょうか
126
126
 
127
+
128
+
129
+ やりたいことは 1週間ごとにログを圧縮→S3へ転送だけなんですが
130
+
131
+ 自分だけではこれ以上原因がわからないので
132
+
133
+ logrotate や AWS コマンド以外に
134
+
127
- あるいは aws コマンド以外(curl 等を使って) s3 にファイルを転送する方法はないでしょうか
135
+ (Rails のログ機能内圧縮とS3転送を行うコードを追加するとか)方法はないでしょうか

9

質問内容の修正

2018/12/25 03:30

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- logrotate のコマンド実行ユーザ
1
+ logrotate の lastaction で AWS Cli コマンド実行する方法
test CHANGED
File without changes

8

質問内容の修正

2018/12/25 03:15

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -114,7 +114,11 @@
114
114
 
115
115
  lastaction 内に別のコマンドをかくと実行されます
116
116
 
117
- lastaction 内のコマンドをはりつけると転送されてパスはべて絶対パスでかいているので
117
+ lastaction 内のコマンドをはりつけると転送され
118
+
119
+ コマンド内のパスは絶対パスでかいています
120
+
121
+
118
122
 
119
123
  aws コマンドのアカウント情報をうまくみにいってくれていないとしか考えられないんですが…
120
124
 

7

追記

2018/12/25 03:13

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -101,3 +101,23 @@
101
101
 
102
102
 
103
103
  ただ日曜日になると圧縮まではされてるはずなのでよくわかりません…
104
+
105
+
106
+
107
+
108
+
109
+ 追記:
110
+
111
+
112
+
113
+ やはり圧縮まではされるのですがログが転送されません
114
+
115
+ lastaction 内に別のコマンドをかくと実行されます
116
+
117
+ lastaction 内のコマンドをはりつけると転送されてパスはすべて絶対パスでかいているので
118
+
119
+ aws コマンドのアカウント情報をうまくみにいってくれていないとしか考えられないんですが…
120
+
121
+ logroteta から起動した場合に aws コマンドがうまく動く方法はないでしょうか
122
+
123
+ あるいは aws コマンド以外に(curl 等を使って) s3 にファイルを転送する方法はないでしょうか

6

質問内容の修正

2018/12/25 03:12

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -97,3 +97,7 @@
97
97
  1行目にかかれているログファイルの中身は less すれば見えるので空ではないのですが
98
98
 
99
99
  なぜか空扱いになってしまっているようです
100
+
101
+
102
+
103
+ ただ日曜日になると圧縮まではされてるはずなのでよくわかりません…

5

質問内容の修正

2018/12/13 05:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ```
4
4
 
5
- /.../staging.log
5
+ /.../staging.log {
6
6
 
7
7
  weekly
8
8
 
@@ -25,6 +25,8 @@
25
25
  aws s3 mv /.../staging.log*.gz s3://...
26
26
 
27
27
  endscript
28
+
29
+ }
28
30
 
29
31
  ```
30
32
 

4

質問内容の修正

2018/12/13 05:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -92,4 +92,6 @@
92
92
 
93
93
  となります
94
94
 
95
- 1行目にかかれているログファイルの中身は less すれば見えるので空ではありません
95
+ 1行目にかかれているログファイルの中身は less すれば見えるので空ではないのですが
96
+
97
+ なぜか空扱いになってしまっているようです

3

追記

2018/12/13 05:22

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,10 @@
1
- logrotate.conf
1
+ logrotate.d/rails
2
2
 
3
3
  ```
4
4
 
5
+ /.../staging.log
6
+
5
- weekly
7
+ weekly
6
8
 
7
9
  rotate 15
8
10
 
@@ -61,3 +63,33 @@
61
63
  またそれが root だった場合この aws コマンドだけ指定したユーザ権限で実行する
62
64
 
63
65
  あるいは root 権限で指定ユーザの AWS アカウント情報 ~user/.aws/config を利用するにはどうすればいいのでしょうか
66
+
67
+
68
+
69
+
70
+
71
+ 追記:
72
+
73
+
74
+
75
+ logrotate -d /etc/logrotate.d/rails
76
+
77
+
78
+
79
+ ```
80
+
81
+ empty log files are not rotated, old logs are removed
82
+
83
+ considering log /...../staging.log
84
+
85
+ log does not need rotating
86
+
87
+ not running last action script, since no logs will be rotated
88
+
89
+ ```
90
+
91
+
92
+
93
+ となります
94
+
95
+ 1行目にかかれているログファイルの中身は less すれば見えるので空ではありません

2

質問内容の修正

2018/12/13 05:17

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  ```
54
54
 
55
- コマンドをたたくと動きます
55
+ コマンドをたたくとちゃんと転送されます
56
56
 
57
57
 
58
58
 

1

質問内容の修正

2018/12/13 02:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -58,4 +58,6 @@
58
58
 
59
59
  roglotate の lastaction にかいたコマンドが cron からよばれた場合実行者は誰になるのでしょうか
60
60
 
61
- またそれが root だった場合この aws コマンドだけ指定したユーザ権限で実行するにはどうすればいいのでしょうか
61
+ またそれが root だった場合この aws コマンドだけ指定したユーザ権限で実行する
62
+
63
+ あるいは root 権限で指定ユーザの AWS アカウント情報 ~user/.aws/config を利用するにはどうすればいいのでしょうか