Ubuntu 18.04 で GUIモードを無効化/有効化する
無効化
sudo systemctl set-default multi-user.target
有効化
sudo systemctl set-default graphical.target
Firebaseでカスタムイベントを利用する
FirebaseでAndroidからカスタムイベントを記録します。
Firebaseのセットアップは割愛します。
Firebaseでカスタムイベントを利用するには予め、アプリからイベントと付随するパラメータを送信しておきます。
翌日、Firebaseコンソールにてイベントとパラメータの設定を行います。
これらの設定がすべて反映されて、データをグルーピングできる様になるのは翌々日です。
1日目 アプリからイベントを送信する
FirebaseAnalytics analytics = FirebaseAnalytics.getInstance(this); Bundle bundle = new Bundle(); bundle.putString("action", "running"); analytics.logEvent("service", bundle);
イベント名、追加パラメータ名は好きなもので構いません。
ここでは、イベント名をservice 追加パラメータ名をactionとしました。
Firebaseコンソールで確認されるには1日以上かかります。
面倒ですが、待ちましょう。
2日目 Firebaseコンソールでイベントの設定をする
Firebaseコンソールの Analytics -> Events を開く
昨日送信したイベント(ここではservice)が表示されています。
serviceの右にある︙をクリックしパラメータリポートを編集します。
アプリから送信したパラメータ名(ここではaction)がリストにあるので登録し、保存します。
rsyncをxargsを使って並列実行
ls -1 /path/to/src | xargs -I {arg} -P 6 -n 1 rsync -avh /path/to/src/{arg} /path/to/dest
ls -1 エルではなく1 xargs に渡すために 1行に1ファイル(フォルダ)出力
↓パイプ
-I {arg} で引数を置換する文字列を {arg} として
-P 6 で並列数を6として指定して
-n 1 で渡される引数の数を念の為1個に限定して
rsync -avh /path/to/src/{arg} /path/to/dest {arg}を引数で置換して実行
Tomcat のログが /var/log/messages に出てしまう時は
vi /etc/tomcat/logging.properties
-handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler +handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler -.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler +.handlers = 1catalina.org.apache.juli.AsyncFileHandler
ベトナムのE-visaのパスポートの有効期限が間違っていた件
https://evisa.xuatnhapcanh.gov.vn/lien-he
ここで wrong application infomation を選択して、
間違っている内容と、正しい内容を送信します。
送信しました。って出たのにフォームが表示されて?となりますが、
きちんと送信されているようです。
4時間ほどで修正したよ。とメールが来て無事正しいE-visaが取得できました。
Google Play の定期購入のテストの仕様が変わったっぽい
少し前までは定期期間が1日のテスト定期購入だったのが、
5分更新で30分で自動で解約されるようになったっぽい。
解約されたときのステータスとかはまだ見てない。
ipset で安心安全サーバライフ
日頃サーバをいじっていると、ちょっと気を抜いただけで中国南北朝鮮ロシアあたりからアタックを試みられます。
もう面倒くさいので ipset でブロックしましょう。
ついでにsshは日本だけ許可しましょう。
yum install ipset ipset-service
ipdenyから国別IPを取得してきて、リストを作成するシェルスクリプトを作ります。
#!/bin/sh BLACK_COUNTRIES=("cn" "kr" "kp" "ru") ipset create -exist BLACKLIST hash:net ipset flush BLACKLIST for COUNTRY in ${BLACK_COUNTRIES[@]}; do echo ${COUNTRY} # Download Country ip address list(ipv4) if [ -s ${COUNTRY}.zone ]; then mv ${COUNTRY}.zone ${COUNTRY}.zone.old fi wget http://www.ipdeny.com/ipblocks/data/countries/${COUNTRY}.zone # Register specific country ip address to BLACKLIST group while read ADDRESS; do echo "ipset add BLACKLIST $ADDRESS" # FOR DEBUG ipset add BLACKLIST $ADDRESS done < ${COUNTRY}.zone done
同様にjpのWHITELISTを作成します。
設定を保存します。
ipset save WHITELIST > /etc/sysconfig/ipset ipset save BLACKLIST >> /etc/sysconfig/ipset
※保存先は /usr/libexec/ipset/ipset.start-stop の IPSET_DATA 参照
サービスに登録します。
systemctl enable ipset
リストをフラッシュしてみて・・・
ipset flush WHITELIST ipset flush BLACKLIST
restart して設定がロードされていればOK
systemctl restart ipset
こんなふうに使います。
/sbin/iptables -A INPUT --match-set BLACKLIST src -j DROP /sbin/iptables -A INPUT -p tcp -m state --state NEW --destination-port 22 -m set --match-set WHITELIST src -j ACCEPT