サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
tech.mktime.com
cronのコマンドに引数として日付を与えたかった。 dateコマンドでYYYY-MM-DD形式の日付を与えるためにcrontabにはこう記述した。 */5 * * * * /bin/sh /path/to/script `date '+%Y-%m-%d'` しかし動かない。 ログにはこんな感じで不完全なコマンドが記録されている。 Nov 30 19:30:01 myhost CRON[18201]: CMD (/bin/sh /path/to/script `date '+) 確認したところ、crontabに書くコマンドは%(パーセント)は改行文字に置き換えられるとのこと。 そのため%の前でコマンドが切れていたのだ。 Man page: crontab 「第 6」フィールド (行の残りの部分) には実行されるコマンドを指定する。 その行のコマンド部 (改行文字または % 文字まで) が /
CentOS 7にnginxをインストールしてHTTPでサーバにアクセスすると502 Bad Gatewayになった。 ログを見ると13: Permission deniedが出ている。 2017/03/08 11:54:32 [crit] 7149#0: *6 connect() to 127.0.0.1:8001 failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: localhost, request: “GET / HTTP/1.1”, upstream: “http://127.0.0.1:8001/”, host: “localhost:8080” Permission deniedということなので、SELinuxのログをチェックする。 sudo fgrep
crontabの時間設定 crontabで定時実行を指定する場合、時間の設定項目は左から「分」「時」「日」「月」「曜日」となっている。 # m h dom mon dow command * * * * * コマンド 秒単位の設定 cronで指定できる時間の最小単位は分だ。秒単位の指定をする方法としては、次のようにsleepを挟む方法がよく紹介されている。 例)30秒おきに実行 * * * * * コマンド * * * * * sleep 30; コマンド 同じコマンドを1分間隔で実行するように2つ登録するが、そのうち1つのコマンドはsleepで30秒待つようにする。 こうすれば30秒おきに実行できる。 秒単位設定の欠点 先ほどの設定方法の欠点は、10秒間隔や5秒間隔でコマンドを実行したいときに、コマンドの登録数が増えるということだ。 例)10秒おきに実行 * * * * * コマンド *
mcryptがPHP 7.1以降で非推奨になった。 PHP 7.1.x で推奨されなくなる機能 mcrypt 拡張モジュールは十年近くにわたって放置されており、極めて使いづらいものです。 そこで、この拡張モジュールを非推奨にしました。かわりに OpenSSL を使いましょう。 mcryptは PHP 7.2 でコアから削除されて、PECL に移る予定です。 openssl_関数では暗号化アルゴリズムを選択して暗号できる。 AESで暗号化・複合する例 $algo = 'AES-128-CBC'; // AES 128bit CBCモード $key = '*****'; // 暗号キー $data = 'plain text'; // 暗号化するデータ $encrypted = encrypt($algo, $key, $data); var_dump($encrypted); $decryp
docker-compose up したときにこんなエラーが出た。 ERROR: for php-phalcon Conflict. The name "/hogehoge" is already in use by container 97f681afd00ac446e9cb7f862b344d360f1e3cb15d1386492d63f977f08e897c. You have to remove (or rename) that container to be able to reuse that name. コンテナを削除するか、リネームしろとのことなので コンテナが持っているデータが消えても良ければ、docker rmで削除する。 docker rm コンテナ名 もし起動中で消せなければ、-f オプションで強制的に消せる。 docker rm -f コンテナ名 コンフリクトして
インストール iTunesに取り込んだ音声データをffmpegでmp3に変換し、その後Soxで分割します。 そのためにffmppegとsoxをインストールします。 homebrewでffmpegをインストール brew install ffmpeg 同じく、soxをインストール。lameはsoxでmp3ファイルを作るために必要になります。 brew install lame brew install sox m4aをmp3に変換 iTunesで取り込んだデータがm4aというフォーマットだったので、mp3に変換します。 ffmpeg -i hoge.m4a -ab 256k hoge.mp3 mp3ファイルを静音部分で分割 soxを使って静音部分で分割します。 静音とみなす条件は次のように指定します。 silence [-l] above-periods [duration threshol
いくつかのjq演算子(例えば+)は与えられる引数によって(配列、数字など)異なる動作をする。 しかしながらjqは暗黙的な型変換をしません。もしもオブジェクトに文字列を追加しようとしたなら、エラーメッセージが表示され、結果は返りません。 + +演算子は2つのフィルタを取って両方に同じインプットを適用し、その結果を足す。 「足すこと」が何を意味するかは引数の型に依存する。 数字を足すと普通に足し算をする。 配列を足すと2つの配列を結合し、1つの大きな配列とする。 文字列を足すと2つの文字列を結合し、1つの大きな文字列とする。 オブジェクトを足すと、マージが行われる。(両方のオブジェクトの全てのキーと値のペアを挿入して結合したオブジェクトを作る。) nullは全ての値に足すことができる。そしてnullではない方の値を返す。 jq '.a + 1' {"a": 7} => 8 jq '.a + .
サーバのバックアップファイルをGoogle Driveに保存する方法について調べました。 gdcp を使って転送できたので、記録を残しておきます。 gdcp gdcp(Google Drive cp)は強力で高速なGoogle Driveへのファイル転送を行うコマンドラインツールです。 使い方はLinux/Unixサーバのscpに似ています。 大容量のファイル転送に対応しており、MD5 checksumの確認や再帰的フォルダのアップロード/ダウンロードをサポートしています。 gdcpのインストール 必要ライブラリをpipで新ストールします。 $ pip install pydrive $ pip install backoff 任意のディレクトリにソースコードをダウンロードしてユーザのパスにコピーします。 $ git clone https://github.com/ctberthiaum
新旧コマンドの比較 新しいコマンドのほうが短くて使いやすい。 ただし、ipはarpやifconfigをそっくりそのまま置き換えたものでは無いので、出力にも違いがある。 ifconfigとip a $ ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:27:a6:3b inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe27:a63b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1233 errors:0 dropped:0 overruns:0 frame:0 TX packets:940 errors:0 dropped
このページを最初にブックマークしてみませんか?
『tech.mktime.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く