【Laravel】LaravelのログをAWS CloudWatchに転送する

バッチが上手く動いてないみたい、大きな障害にはなっていないけどエラーが出ていないかログを確認したい、そういうときにSSHでサーバに接続して、ログディレクトリまで降りていってログファイルを探して開いて検索して……というのが大変しんどいので、せっかくAWS上で動いてるんだし最低限のログをCloudWatchで見られるようにしたら便利じゃね?ってことでやってみました。

続きを読む

AWS S3の転送コストって結構下がってるのね

AWS S3

仕事で使っているAWS、オンプレミスからの移行が中途半端な部分があって(日程が厳しかったそうなので仕方ない)、数十KB~数MBのファイルがEC2のストレージに大量に入っています。ジャケット画像とか試聴用のMP3ファイルとか。本当は新システムリリース時にS3に移行したかったけど大量すぎて上手く行かなかったらしい。まあねえ。

続きを読む

AWS Lightsailのプランを変更 【#np2020】

Amazon Lightsail

先週ぐらいからサーバがもっさりすることがあって、放って置いても直らずインスタンスを再起動すると戻るんだけど2日したらまたもっさりの繰り返し。良く言われるCPUクレジットの話かなと思ったけれど、Lightsailのメトリックス見るとCPU使用量はかなり低い(3%前後)ので多分その可能性はない、DBかなあと思ったけれどそっちも同じ。おかしいなと思いつつメモリの使用量を見てみると、メモリの使用量が大きくなってて、うわヤバい何かやっちゃってる……?と思ったけどそうじゃありませんでした。一番安いプランのままだったよ……

続きを読む

【CentOS】ターミナルに「You have new mail in /var/spool/mail/vagrant」と表示されて鬱陶しい【Vagrant】

centos.png ローカルのVagrant上で作業しているとき、ターミナルで何か処理をするごとに「You have new mail in /var/spool/mail/vagrant」と表示されるようになった。多分ローカルのcrontabがエラーでも吐いているんだろうと思うんだけど、確認出来ないし削除出来ないし鬱陶しい。どうしたもんか。

とにかくメールを見てみる

メールを開くためにはmailコマンドが使えないとダメらしい。あいにく
$ mail
-bash: mail: command not found
とのことだったので、mailコマンドを使うためにmailxというアプリケーションをインストールする。
$ sudo yum install mailx
するとmailコマンドでメールの一覧が見れるようになる。
$ mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/vagrant": 2452 messages 2452 new
>N  1 (Cron Daemon)         Wed Feb 13 05:00  25/1065  "Cron <vagrant@nobodyp"
N  2 (Cron Daemon)         Tue Feb 19 09:00  25/1065  "Cron <vagrant@nobodyp"
N  3 (Cron Daemon)         Wed Feb 20 01:30  34/1435  "Cron <vagrant@nobodyp"
N  4 (Cron Daemon)         Thu Feb 21 04:18  30/1445  "Cron <vagrant@nobodyp"
N  5 (Cron Daemon)         Tue Feb 26 04:05  30/1445  "Cron <vagrant@nobodyp"
N  6 (Cron Daemon)         Thu Feb 28 04:00  25/1065  "Cron <vagrant@nobodyp"
N  7 (Cron Daemon)         Tue Mar 12 07:30  25/1065  "Cron <vagrant@nobodyp"
N  8 (Cron Daemon)         Tue Mar 19 00:00  25/1056  "Cron <vagrant@nobodyp"
N  9 (Cron Daemon)         Tue Mar 19 03:49  30/1445  "Cron <vagrant@nobodyp"
N 10 (Cron Daemon)         Tue Apr 16 03:03  30/1445  "Cron <vagrant@nobodyp
どうやら全部で2,452通も溜まっているらしい。マジか。一応チェックしたけど、ローカルでテストしてたRSSリーダーの更新エラーだった。今はもう新しい環境の方で構築していてローカルのRSSリーダーは止めているので必要ない。というかそれ以前に、crontabの結果がここに送られてきているのがおかしい。

crontabに宛先を設定

ローカルとは言え一応エラーは受け取りたいので、設定をしておく。
$ crontab -e
最上部に以下を書く。
MAILTO="hoge@gmail.com"
これで結果はここに送られるはず。

メールを一括削除

何通か見てみたけど全部同じっぽかったので、一括削除。 mailコマンドに一括削除ってあるのかなと思ったけど、メールの削除はあっても一括削除はないので、これで削除。
cat /dev/null > /var/spool/mail/vagrant
$ mail
No mail for vagrant
綺麗になった。

参考

Linux や mac で You have new mail in … と表示される | uuutee.log

続きを読む