※UNIX時間とは、UTC時刻における1970年1月1日午前0時0分0秒(UNIXエポック)からの経過秒数を計算したものです。
※UNIX時間とは、UTC時刻における1970年1月1日午前0時0分0秒(UNIXエポック)からの経過秒数を計算したものです。
人気記事ランキング Apacheのバージョン確認方法 2.7k件のビュー デフォルトゲートウェイの設定 routeコマンド 1.3k件のビュー findで指定サイズより大きいもしくは小さいファイルを探す 625件のビュー タイムゾーンを日本標準時(JST)に変更する CentOS 8, 7 547件のビュー firewalldの設定 CentOS 7 464件のビュー NetworkManagerによるresolv.confの自動生成を抑制する 436件のビュー dnf/yumにEPELリポジトリを追加する Rocky Linux 8, 9/CentOS 7 412件のビュー Apache 文字化け対策 AddDefaultCharset 334件のビュー digのインストール 300件のビュー CentOS/Rocky LinuxのOSバージョンを確認する 299件のビュー cron(c
質問 command > dev/null 2>&1ってよく書いてませんか? crontabでよく書いてませんか? でもそれ、前のcrontabコピペして書いてませんか? 実は意味を理解せずに書いてませんか? ゴール ファイルディスクリプタを理解する command > /dev/null 2>&1の意味をきちんと理解する 基礎知識 1. ファイルディスクリプタ Unixには、次の3つの入出力があり、それぞれ番号が振られています。 0: 標準入力 1: 標準出力 2: 標準エラー出力 ファイルディスクリプタとは、これら入出力をOSが判別する為に割り当てられた番号の事です。 2. リダイレクト よく>という記号を見ると思いますが、これがリダイレクトです。 例えば、標準出力に出すだけのシェルスクリプトを作ってみます。
text メールサーバーの構築 PostfixとDovecotによるメールシステムの構築 1.メールサーバーとは - PostFixが使われる理由 メールサーバーとは、インターネット経由で送られてきたメールを保存したり別のサーバーに配信したりする働きをするサーバーアプリケーションが稼動しているコンピュータのことをさす。 メールサーバーの役割としてサーバーのメールボックスに到着したメールをユーザーのPCに転送するPOPとメールサーバーにメールを送信するときや、サーバー間でメールを転送するときに利用されるSMTPからなる。 UNIX系のメールサーバーアプリケーションの代表格としてはsendmailがある。sendmailには様々なセキュリティ上の問題が発見され、現在ではPostfixやqmailへと遷移していった。 Postfixはsendmailに代わるMTA (Mail Transport
結論としては、以下のコマンドを使用します。 find . -name "log*" -print0 | tar -cvz -T - --null -f /tmp/log01.tar.gz 大量ファイルをtar化するときに、よく困るのはコマンド内のワイルドカードを展開した文字列が長すぎて、コマンドラインのバッファがオーバーフローして、コマンドを実行できないというもの。 例えば、 tar cvzf /hoge.tar.gz log* などとしても、ファイル名がlogで始まるファイルが大量にあると、実行できない。list too long みたいなことを言われます。これは、ワイルドカードが展開されると、 tar cvzf /hoge.tar.gz log00001.html log00002.html ・・・・・・ などとなって、コマンド長の制限を超えるためです。 そこで、xargsコマンドを使
作ったスクリプトやプログラムの実行時間を知りたいときに使えるのがtimeコマンドです。timeコマンドの見方と、使い方についてメモを残しておきます。 実行例としてperlとc言語で1から1000000000の総和を計算してみました。 0. 環境 システム バージョン
curl コマンド 2015/03/31 HTTPアクセスをしてコンテンツを取得できるコマンド。 wgetでも同じようなことができる。 FTPやSCPとかでもファイル転送できるらしいが、自分はHTTPやHTTPSで使うことがほとんど。 URLをパラメータにしてそのコンテンツを標準出力させるのが、基本的な使い方。 $ curl http://www.example.com/ ファイルに保存したければ、リダイレクトを使えばよい。 -o オプションでもファイル保存ができるらしいが、そんなオプションを記憶しておくよりもどのコマンドでも使えるシェルのリダイレクトの方法を覚えておけば、ほとんどの場合に使えるから、自分はそうしている。 $ curl http://www.example.com/ > example.html F5アタックなんかしたいときは $ while :; do curl -s '
bash は、標準入力やファイルから読み込んだコマンドを実行する、 sh 互換のコマンド言語インタプリタです。 bash には、Korn シェルや C シェル (ksh や csh ) の便利な機能も採り入れられています。 bash は IEEE POSIX Shell and Tools specification (IEEE Working Group 10032) に準拠する実装を目指しています。 bash は以下のオプションを起動時に解釈します (組み込みコマンド set の説明で述べられている 1 文字のシェルオプションも使えます): -c string -c オプションが指定されると、コマンドが string から読み込まれます。 string の後に引き数があれば、これらは 位置パラメータ (positional parameter: $0 からはじまるパラメータ) に代入さ
目的 OS コマンドによるボトルネック調査方法をまとめる。 CPU メモリ I/O ネットワーク 環境 OS: CentOS 5.5 Kernel: 2.6.18-194.el5 x86_64 CPU サーバ全体の CPU 使用率 CPU 使用率を確認する。使用率が 100% に近くなっている(= idle が 0% に近くなっている)とボトルネック。 top top では複数の論理 CPU がある場合もサーバ全体として 1 つに集約されて出力される。 $ top top - 07:23:36 up 45 days, 17:41, 2 users, load average: 7.22, 9.43, 8.03 Tasks: 223 total, 1 running, 222 sleeping, 0 stopped, 0 zombie Cpu(s): 7.1%us, 8.0%sy, 0.0%
パスワードは暗号化されてる事を意味します。 xというのはシャドウパスワードを使用してるという意味。 グループの種類 プライマリグループ イニシャルグループ これらは、ユーザを作って一番最初に属するグループ。 サブグループ それ以外で所属するグループの事 新しいグループを作る。新しいユーザをグループに追加する groupadd test ← 新しく`test`というグループを作る useradd test_user -g test ← 新しく`test_user`というユーザを作って、`test`グループに所属させる id test_user uid=502(test001) gid=503(test) 所属グループ=503(test) 既存ユーザをグループに追加する gpasswdコマンドを作る。 試しに、apacheユーザをwebadminグループに追加してみる。 ``` [root@*
はじめに 「なんかサーバが重たい」そう思った瞬間にどのようにボトルネックを調べるのか? どのように対処すべきなのか?を知らない人が意外に多いので、自分の振り返りも含めまとめていきます。 サーバが重いと思ったら、、、 UNIXの開発者であり、現在はGolangの実装にも携わっているRobert C. Pike氏の、 「推測するな、計測せよ」 サーバが重いと思ったら、まずは計測していきましょう。 まずはロードアベレージを調査 まずはシステム全体の負荷指標であるロードアベレージを確認してみましょう。 確認方法はメジャーな物として、top、uptimeコマンドが存在します。 そもそもロードアベレージとは、単位時間あたりの待ちタスク数を指標としています。 uptimeコマンドを実行した場合 [moriyaman@web01 ~]$ uptime 00:57:24 up 223 days, 1:43,
date コマンド 2021/01/24 現在の時刻を取得したり、設定したりするコマンド。OSが刻んでいる日時がずれている場合は、root権限でこのコマンドを使って正しい日時を設定する。 時刻の表示フォーマットを指定することもできる。 「30日後は何日か?」などの簡単な日時の計算もできる。 現在日時ではなく、処理にかかる時間を測定するにはtimeコマンドを使う。 基本的な使い方 2021/01/22 # 現在の日時を表示 $ date # 現在の日時をUTCで表示 $ date -u # フォーマットは + で始まる書式で指定 $ date "+%Y%m%d-%H%M%S" # 24時間後の日時を表示 $ date -d tomorrow # -d の代わりに --date でも同じ $ date --date tomorrow # 30日後の日付を表示 date "+%Y/%m/%d"
シェルでデータ加工するときSEDをよく使いますが、その利用例と覚え書きです、参考になれば sedコマンドはLinux/Unix/BSD/OSXに標準で入っているので、Macの人なら覚えておくと捗るかも(Linuxとは少し違うのでそこは調べてね?) 当方の利用環境がRedhat系Linuxメインですので、微妙に書式が異なることがありますが、大体の書式は同じはずですので、そこは、ご容赦願います (4/15 ちょっと追加…) Windowsでもsed使いたいという人がいたので、ちょっと追記、以下のサイトからWindows用のバイナリを取得すれば、Windowsでもsedが使えます。WSLなどLinux環境を追加したくない、sedのコマンドだけほしい、PowerShellやプロンプトで使えればいいだけという人にお勧めです。 sed for Windows Site 使用例をいろいろ上げてみる '#
tyru@hoge.localdomain→tyru.exe+tyru-at-hoge@gmail.com みたいにしてどこから送られてきたかもアドレスに含める設定。 /etc/postfix/main.cf mydomain = localdomain myhostname = hoge.localdomain myorigin = $myhostname # Relay to GMail mydestination = relayhost = [smtp.gmail.com]:587 # Append this host's domain to a mail w/o domain. append_at_myorigin = yes # Append '.localdomain' to a locally-sent mail. append_dot_mydomain = yes # Re
課題 /tmpと/var/tmpどっちも大体一緒だからいいんじゃないかと思って/tmpにファイルをつくろうとしたら、プログラムが使用するものは/var/tmpにと叱られた。確かに、基幹系システムのディストリビューションだと何故か/var/tmp派の人が多かった気がする。じゃあ、linux系特有の宗派の問題なのか?と思い調べてみた。 何が他のディレクトリと違うか 通常のディレクトリは、基本的にはファイルは削除しない限り消えない。 /tmpに関しては再起動するとファイルが綺麗さっぱり無くなる。 /var/tmpは再起動しても消えないがいつの間にかファイルが消えることがある。 うーん、やはり使用してきたディストリビューションのルールか、業務の慣例的なルールなのかなぁ。 やはり/tmpと/var/tmpは宗教論争なの? そういうわけではないらしい。FHS(Filesystem Hierarchy
まえがき これは、とあるウェブプログラマーがやらかした事件の手記である。 返事がない ある日、Railsでmigrationを書いて、デプロイしたときに、ブラウザ氏からこう言われた。 502 Bad Gateway nginx/1.4.3 _人人人人人人_ > 突然の死 <  ̄Y^Y^Y^Y^Y ̄ まったくシャレにならないので、なんとかしよう。 原因を究明しよう まず、原因を探ろう。 よくよく思い出してみると、マイグレーションが重すぎて途中停止してるっぽかった。その頃からアクセスが死んだようにも思える。 ということは、何かの拍子にDBをロックしてしまった可能性が高い。 ロック、聴くぶんには大好きだけどハメられるとすごく辛い。しかも死んでるし。 で、mysqlのprocesslistを確認する。原因となる作業プロセスがいるはずだ。 processlistの探り方 基本はUNIXのpsとかとだ
長らく Putty(パティ) を使っていました(ssh-keygenが梱包されていて便利なので)。ところがこの Putty 開発も終わってるしシングルウインドウもあり使いづらいなと思っている人もおおいのでは?と思うんですよね。そこで。Rlogin に! ダウンロード先 本家ここからダウンロード。 Rlogin 使ってみた wikipediaをみると「RLoginは1998年の開発から始まる10年来のソフトウェアであり、定番ターミナルエミュレータ(Tera Term, PuTTY, Poderosa)のいいとこ取りをした統合的な端末ソフトに仕上がっている。実行プログラムはPuTTYと同様、EXEファイル1つのみとなっている。」とあるので枯れたプログラムでいい感じ(いい意味で)。 これが欲しかった TeraTem, Putty だとコピーバッファにある文字列を「マウスの右クリックでペースト」す
→ 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く