xinetdなるもの

以下メモ書きなので、整理したい。

諸事情でproftpd単体でなくxinetdなるものを介してデーモンを制御することになった。xinetdはスーパーデーモンつまりproftpdといった各種デーモンの起動/停止を管理するデーモンで、これにより各種デーモンが常駐起動することがなくなりリソースの節約になるものらしい。と概要はこれくらいに、xinetdで管理したいデーモンを停止して常駐も切って/etc/xinetd以下にproftpdの設定ファイルを作成し、後はxinetdを再起動すれば対象のデーモンを管理できる。試しにnetstatでxinetdをgrepすると21ポートを使用してるのはxinetdとなる。ちなみにxinetdはザイネットディーと読む。

Web.configなるもの

まとめずに思いついたままにつらつらと書く。

IISでWebサイトのルートディレクトリを変更したときの話、、、ドキュメントルートを変更していざChromeで確認すると500が、IISでログを見れないかウロウロしていると偶然IEで立ち上げた500にエラー詳細の詳細が出力されてた。どうやらWeb.configとやらがダメらしいということで、ルートディレクトリを見に行くとWeb.configが置いてあるけど0kb?中身が空だったので適切に書いてやると500が解消した。うーん、今回の敗因はChromeで見てたこととWeb.configなるものの存在を知らなかったこと?それよりIISで500のエラー詳細、つまりIEで吐いてたメッセージを貯めている場所を特定したい。

シェルスクリプト単体なら動てるのにcronで正常に動かない。。。

今回は gdrive を使ってバックアップするスクリプトを書いたんだけど cron で走ってない模様

0 0 * * * /root/test.sh 2>> /root/test-error.log

エラーを /root/test-error.log に吐き確認すると、gdrive なんてコマンドねぇよ。と書いてる!?

パスが通ってなかったんだね。通したら走りました。

WordPressを更新するのにFTPユーザを作るのが面倒なので、かくかくしかじか

“wp-config.php”に”define(‘FS_METHOD’,’direct’);”を”wp-settings.php”をrequireしている手前の行に追記する。

ただし更新等が終わったらちゃんとコメントアウトか削除しましょう。よく調べてないがPHP関連のセキュリティがガバガバになる強制的なやり方らしいので!

grepの個人的まとめ

  • grep -v hoge : hogeを除くファイルとマッチ
  • grep fuga | grep -v hoge : fugaとマッチしたファイル一覧からhogeを除く

生存確認スクリプト

  1. Google Apps Script でプロジェクトを作成
  2. 上記プロジェクトで、下記2ファイルをファイルを作成
    // sendMail.gs
    function sendMail(to, title, message) {
        MailApp.sendEmail(to, title, "", {htmlBody: message});
    }
    
    // checkBlogAccess.gs
    function checkBlogAccess() {
       var url = "https://www.hoge.jp";
       var res = UrlFetchApp.fetch(url, { muteHttpExceptions:true });
       var rescode = res.getResponseCode();
       sendMail("to@gmail.com", "Subject", "Message, response code : " + rescode);
    }
    
  3. cronに登録

tarの圧縮と解凍のオプションの差

いつも何気なく

# 圧縮
tar -zcvf hoge.tar.gz hoge
# 解凍
tar -zxvf hoge.tar.gz

を覚えて無心に打ってたけど、この差はcとxですね。

  • c : 書庫を新規に作成
  • x : 書庫からファイルを抽出

ついでに、

  • z : gzipを通して処理
  • v : 処理ファイルの一覧を詳細表示
  • f : 書庫ファイルの指定、または使用するデバイスの指定(初期値:/dev/rmt0)

やね。