投稿

ラベル(サーバー)が付いた投稿を表示しています

RHEL 7でスタティック(静的)ルートを追加する4つの方法

イメージ
今回は、 Linux の ルーティング テーブル に対して、 スタティック ( 静的) ルート を 追加 する方法をいくつかご紹介します。 と言うのも、場合によっては コマンド がなかったり、設定した結果が思うように返ってこないこともあるので、どのような状況にも対応できるように、知っていても損はないと思います。 スタティック(静的)ルートとは? スタティックルート とは、管理者が宛先 ネットワーク への最適な ルート を手動で設定した ルート のことで、 ネットワーク の状態に変化があった場合でも、他に有効な宛先 ルート があっても、自動的にその ルート に切り替わることはありません。 ルーティングについてはじめから解説。 スタティックルーティングとは - www.infraexpert.com 設定内容の確認方法 ip コマンド を利用して、 ルーティング の設定内容を確認します。 ip r(route) すると、このように表示されます。 default via 192.168.100.254 dev ens160 proto static metric 100 192.168.100.0/24 dev ens160 proto kernel scope link src 192.168.100.10 metric 100 192.168.100.0/24 via 192.168.100.254 dev ens160 proto static metric 101 上の2行はデフォルトで設定されているものですね。 3行目の ルーティング 設定例を見ると、以下のように設定されています。 IPアドレス:192.168.100.0 サブネット:255.255.255.0 ゲートウェイ:192.168.100.254 インターフェース:ens160 メトリック:101 次に、以下の ネットワーク デバイス の情報を見てみましょう。 ip a このように表示されるはずです。 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopbac...

RHEL 7でスタティック(静的)ルートを追加する4つの方法

イメージ
今回は、 Linux の ルーティング テーブル に対して、 スタティック ( 静的) ルート を 追加 する方法をいくつかご紹介します。 と言うのも、場合によっては コマンド がなかったり、設定した結果が思うように返ってこないこともあるので、どのような状況にも対応できるように、知っていても損はないと思います。 スタティック(静的)ルートとは? スタティックルート とは、管理者が宛先 ネットワーク への最適な ルート を手動で設定した ルート のことで、 ネットワーク の状態に変化があった場合でも、他に有効な宛先 ルート があっても、自動的にその ルート に切り替わることはありません。 ルーティングについてはじめから解説。 スタティックルーティングとは - www.infraexpert.com 設定内容の確認方法 ip コマンド を利用して、 ルーティング の設定内容を確認します。 ip r(route) すると、このように表示されます。 default via 192.168.100.254 dev ens160 proto static metric 100 192.168.100.0/24 dev ens160 proto kernel scope link src 192.168.100.10 metric 100 192.168.100.0/24 via 192.168.100.254 dev ens160 proto static metric 101 上の2行はデフォルトで設定されているものですね。 3行目の ルーティング 設定例を見ると、以下のように設定されています。 IPアドレス:192.168.100.0 サブネット:255.255.255.0 ゲートウェイ:192.168.100.254 インターフェース:ens160 メトリック:101 次に、以下の ネットワーク デバイス の情報を見てみましょう。 ip a このように表示されるはずです。 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopbac...

443以外のSSLポートを使用するプロキシサーバ(Squid)の設定

イメージ
Squid を利用した プロキシ サーバ を経由して https 通信を行う際、通常なら 443 番の SSL ポート を許可していればよいのですが、それ 以外のポート を使用する場合は、設定ファイル( squid.conf )の 2カ所 に設定を追加する必要があります。 設定不足でエラーが出る 冒頭で「 2カ所 」と記述しましたが、察しの良い方は問題なく設定しているはずです。 squid.conf で設定が必要な箇所を一部抜粋します。 ・・・ acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http ・・・ 著者の場合、 4343 番の SSL ポート を使用したかったので、以下の設定を追加してみました。 acl Safe_ports port 4343 すると、ログでこのような エラー が… 1234567890.123 0 192.168.100.xxx TCP_DENIED/403 3757 CONNECT example.com:4343 – HIER_NONE/- text/html ちなみに 403 エラー とは、権限がない、アクセス拒否といったものです。 Safe_portsとSSL_ports 設定内容をよく見ればわかることでした。 上記で設定した内容以外に、もう1カ所にも設定が必要です。(両方必要) acl SSL_ports port ...

CentOS 8でZabbixを3系から5.0へ一気にアップグレード!

イメージ
前回は CentOS を 7 から 8 に アップグレード しましたので、しばらく古い バージョン のまま使っていた Zabbix も、これを機に一気に 5.0 へ アップグレード したいと思います。 と言っても、 OS を アップグレード するより簡単にできますので、 アップグレード 後の 問題点 をメモしておきます。 今回は、CentOS 7をCentOS 8にアップグレードする方法をご紹介します。ググってみると、いくつものサイトでいかにも簡単そうにコマンドを書いていますが、著者の場合は、そのまま実行しても上手くアップグレードできませんでした。
結果的にそれらの課題を解決したの... CentOS 7から8にアップグレードする方法(3つの問題を解決) - Minory Zabbix 5.0 アップグレード Zabbix の アップグレード は バージョン 3→4でも、4→5でも基本的には同じですので、詳細は省略させていただき、参考サイトのリンクを貼っておきます。 918 サーバ管理のお供といえばZabbix。ただ、長いこと運用をやっていると保守的な思考になってしまい、最新版が出たからといってホイホイとアップデートする気にはならなくなる。自分の環境で使っているZabbixも、ずっと長いこと3.0系のままで何年も使っていてほっ... Zabbix4.0アップデートが簡単すぎた - NorthPage 手順としては以下の通りです。 サービスを停止する バックアップを取る(特にDBや設定ファイル) RPMをアップグレードする(上書き) 設定ファイルを確認する サービスを起動する アップグレード時の注意点 著者の場合、 CentOS 8 で Zabbix 5.0 へ アップグレード する記事が見付からず、こちらの インストール 手順 を参考にしました。 はじめに2020年5月12日、Zabbix 5.0 LTSがリリースされました。久々のメジャーバージョンアップということで、各機能の大幅な変更や追加が行われています。以下公式サイトに情報がまとめられています。Zabbix 5.0LTSの新機能今回は、ミドルウェア構成としてApache + ... Zabbix 5.0 インストール手...

【ミノクラ】マイクラ(統合版)のサーバを公開しました!

イメージ
お待たせしました!(誰も待ってないw) 自宅で稼働している マイクラ ( 統合版 )の サーバー を公開します! マイクラBEサーバー 環境は Bedrock 1.14.x になります。(2020年2月現在) バージョンアップ に伴い、予告なく メンテナンス することがありますので、予めご了承ください。 また、 自宅サーバー が貧弱なため、同時利用人数は 最大10人 までとさせていただきます。 接続情報はこちらからどうぞ! Minecraft Bedrock Server MinoryCraft | Minecraft Bedrock Server - minory.tk 注意事項 サーバーの稼働状況について 基本的には 24時間365日 稼働しています。 しかし、 メンテナンス もそうですが、たまに家の ブレーカー が落ちることがありますw その際、一時的に サーバー に接続できなくなることがあります。 サーバー は電源が入り次第、自動で起動する設定なっていますので、しばらく経ってから再度お試しください。 妨害行為について ゲームモード は サバイバル です。 チート 行為は一切 禁止 とします。 必要以上に大量にmobを増やすなど、 サーバー に 負荷 がかかるような行為はお止め下さい。 また、他のプレイヤーを 妨害 したり、無断で製作物を 破壊 したり、アイテムを 盗む ような 荒らし 行為をしないでください。 悪質 なプレイヤーを 発見 、または 通報 があった場合は、予告なくプレイヤーを制限( BAN )させていただきます。 以上、皆んなルールを守って楽しくプレイしましょう!

SQLPlusでのOracleリモート接続とSQLファイルを実行する方法

イメージ
Linux から SQLPlus で Oracle データベース に対し、 SQL 文を入力して実行する方法は特に問題ないと思いますが、今回は SQLPlus で 外部 から リモート 接続 し、かつ、 SQL 文が書かれた SQL ファイル を実行する方法をご紹介します。 SQLPlusでOracleにリモート接続 基本的に2種類の方法があります。 前者はそのまま データベース への接続情報を記述しますが、後者は tsnames.ora という 設定 ファイル を使って接続する方法です。 1. 設定ファイルを使用しない方法 設定 ファイル を使用せずに直接 リモート 接続 する方法は以下の通りです。 sqlplus [USER_NAME]/[PASSWORD]@[IP or HOST]:[PORT]/[SERVICE_NAME] ちなみに、サーバー指定するのはIPアドレスでもホスト名でも構いません。 2. tnsnames.oraを利用した接続方法 次の方法は、まず tnsnames.ora という 設定 ファイル に以下のように接続情報を記載します。 ファイルの場所がわからなければググってください。もしくは作成してください。 [NET_SERVICE_NAME] = ( DESCRIPTION= ( ADDRESS=(PROTOCOL = [ex:TCP])(HOST = [IP or HOST])(PORT = [PORT])) ( CONNECT_DATA= (SERVICE_NAME=[SERVICE_NAME])) ) そして、以下のように記述すると前者より簡単に接続することができます。 sqlplus [USER_NAME]/[PASSWORD]@[NET_SERVICE_NAME] こちらを参考にさせていただきました。 ## 前提Oracleクライアントがインストールされていること### 基本```C:\ &gt; sqlplus /@:/[Servic... SQLPlusでOracleにリモート接続するメモ - Qiita - Qiita SQLファイルを実行する方法 データベース に接続した後、単純に SQL ファイル を実行するには、以下のよ...

WebRTCに使われる3つの通信方式について調べてみた

イメージ
以前、 SkyWay を利用した WebRTC のサンプルを作成したことを覚えているだろうか。 サンプル では、以下の 3つ の 通信方式 をそれぞれ試せるようなものでした。 FULLMESH(フルメッシュ) P2P SFU 昔からiOSのSafariでWebRTCを実現するのが夢でした。PCでは当たり前のように実現できるのですが、iOS 7くらいからiPhoneやiPadでもできるようになるのではと期待し、ずいぶん待ちました。次にプッシュ通知ができるようになれば、もうネイティブアプリは必要なくなり... iOS 11のSafariがWebRTCに対応してたのでSkyWayのサンプル作成! - Minory サンプル を見てもわかる通り、公開されていた ソース をパクっただけで、あまり理解していませんでした。 しかし、最近になって本格的に WebRTC アプリ を作りたくなったので、少しだけ調べてみました。 P2P まずは、よく聞く P2P から。 P2P ( Peer to Peer )は サーバー を経由せずに クライアント同士 が繋がる通信方式です。 WebRTC は クライアント 端末 が 直接通信 する方式が主で、 ザーバー 用意しなくて良くお手軽な メリット がある反面、 端末 に 負荷 がかかる デメリット もあります。 フルメッシュ フルメッシュ とは、 P2P の 複数同時通信版 と言ったところでしょうか。 こちらも サーバー を経由しない上、複数の クライアント 端末 と通信するので、 P2P よりさらに 負荷 がかかってしまいます。 フルメッシュ接続による多人数通話 参加者全員に対して映像・音声ストリームを送信するため、人数が増えると端末負荷が大きくなる SFU SFU は サーバー を経由する通信方式で、 フルメッシュ より複数同時に接続できる端末が増える上、 サーバー がコンテンツを処理してそれぞれの クライアント に配信してくれるので、 クライアント 端末 の 負荷 が少なくなります。 ここで言う サーバー を SkyWay が用意してくれてます。 SFUを使用した多人数通話 サーバ(SFU)に対してのみ映像・音声ストリームを送信するため、フルメッシュ接...

マイクラ(統合版)で「接続できませんでした:サーバーが期限切れです!」と表示されたら?

イメージ
以前、 自宅サーバー に 統合版 マイクラ ( Minecraft )の Bedrock サーバー を構築する記事を書きました。 少し前にMinecraft(マイクラ)を始めたことを記事にしましたが、少し慣れてきたので家族や友人と一緒にプレイできるよう、自宅にマイクラサーバーを構築することにしました!マイクラサーバーと言えばVanillaが有名みたいですが、現時点で最新のバージョン(1.12.0... 自宅にセキュアな統合版(BE)のマイクラサーバーを構築 - Minory もちろん、今でもこの サーバー で マルチプレイ をしているのですが、 接続 しようとしたら急に繋がらなくなることがありました。 今回はその時の エラー の内容と 対処法 をご紹介します。 エラー内容 タイトルにも記載していますが、このようなメッセージです。 接続できませんでした:サーバーが期限切れです! 接続できませんでした:サーバーが期限切れです! 期限切れって…? これだけ見ると何のことだかサッパリです。 サーバ に 期限 なんてあるのかよ!? エラーの原因 実はこの エラー 、 サーバー と アプリ の バージョン違い によるものでした。 日頃からプレイしている マイクラ は iPhone アプリ ですが、他の アプリ と一緒に一気に アップデート しているので、 アップデート したことに気付きませんでした。 マイクラ バージョン確認 確かに、 マイクラ を起動して画面左下の バージョン を確認してみると、この前まで「 1.12 」だったのが「 1.13 」に変わっていました。 この エラー を解消するには、 サーバー と アプリ の バージョン を合わせなければなりません。 対処法 しかし、ここで問題です。 iPhone ユーザならご存知かと思いますが、一度 アップデート したアプリを ダウングレード することはできません。 ですので、 サーバー 側の バージョン を上げましょう。 のワールドデータをバックアップ バージョン を上げる前に、 ワールドデータ の バックアップ をします。 以前、 iPhone アプリ 内の ワールドデータ を バックアップ する方法をご紹介しましたが、要領は同じです。 ...

ApacheのAliasと.htaccessでLaravelをサブディレクトリで動かす

イメージ
1つのドメインで 複数サイト を運用したい場合の1つの方法として、 サブディレクトリ を ドキュメントルート として動作させる方法があります。 以前学習した Apache の Arias を利用して、 Laravel を サブディレクトリ で動作させる方法をご紹介します。 LinuxでApacheをインストールすると、デフォルトのDocumentRootは以下の場所になります。/var/www/htmlただし、これだと1つのWEBサーバーに対して1つのサイトしか公開できません。複数のサイトを公開する場合、サブディレクトリとサブドメインの2種類の方法がありま... LinuxでApacheのAliasを設定して複数のサイトを公開する - Minory サブドメインじゃダメなの?と思った方へ。 まず、この記事に至った経緯ですが、 自宅サーバー でフリードメインのサブドメインを自分で設定しようとすると何かと面倒なのでした。 しかし、この方法だと比較的簡単に設定することができます。 それでは参ります! Laravelをサブディレクトリで動かす 作成または変更する設定ファイルは、 サーバー 側で Arias を設定する 〜.conf と、 Laravel の public ディレクトリ直下にある .htaccess のみです。 ApacheのAliasを設定する ここでは、 Linux ( CentOS 7 )の設定です。 httpd.conf で conf.d を読み込んでいることを前提とします。 まずは、 Alias 設定用のファイルを作成します。 vim /etc/httpd/conf.d/alias.conf ※別ファイルに設定する必要はないですが、わかりやすくするために分けて書きます そして、ファイル内に以下のように記述します。 Alias /sample /var/www/html/laravel/public <Directory "/var/www/html/laravel/public"> Options Includes ExecCGI FollowSymLinks AllowOverride All Require all granted Ord...

vicfg-cfgbackup.plを実行するとファイルを開こうとする!?

Linuxのtouchコマンドで連番のファイルを大量に作成する方法

イメージ
前回の記事ではログを大量に書き込む内容でしたが、今回は ファイル を一括で 大量に作成 する必要もありましたので、またメモしておきます。 以前記事にしたtailを利用したログ監視のテストとして、ログファイルに1行ずつ書く場合は単純にechoコマンドを使えばいいが、ログが一気に出力された時にちゃんと差分を見ているのか確認するには一気に複数行追加する必要がありました。当初は方法がわからなかったた... Linuxでファイルの末尾に指定した行数を一気に追加する方法 - Minory これまでの流れからすると、 繰り返し構文 を利用して作成すると思われますが、これからご紹介する内容は for は while を使いません。 強いて言うなら、 for の条件式だけ書くといったところでしょうか。 touchで大量にファイルを作成 touchコマンドとは? そもそも、 touch コマンド とは何でしょう? 著者が初めて Linux で サーバー を構築し始めた頃は、使うことのなかった コマンド です。 今回は ファイル を 大量に作成す るために使用しますが、元々の用途は 最終更新日を変更 する コマンド だそうです。 「touch」は、ファイルの最終更新日を変更するコマンドです。 「touch ファイル名」でtouchコマンドを実行した時間がファイルの最終更新日となります。 指定したファイルがない場合は、サイズが「0」のファイルが作成されます。 引用: @IT 実行例 それでは本題です。 下記は先頭に「 test 」と付く 1~10 の 連番 のテキストファイルを生成します。 touch test{1..10}.txt この コマンド を実行すると、このようなファイルが出来上がります。 test1.txt test2.txt test3.txt ・・・ ポイントは {1..10} ですね! {[開始番号]..[終了番号]} 説明するまでもないと思いましたが念のために…。

Linuxでファイルの末尾に指定した行数を一気に追加する方法

イメージ
以前記事にした tail を利用したログ監視のテストとして、ログファイルに1行ずつ書く場合は単純に echo コマンドを使えばいいが、ログが一気に出力された時にちゃんと差分を見ているのか確認するには一気に 複数行 追加する必要がありました。 今回はログを監視して、メッセージに特定の文字列が表示されたら、シェルスクリプトの指定したアクションで、メッセージの内容を利用した処理を行うのが目的です。例えば、WEBサーバーのログに「404」の文字列が表示されたらゴニョゴニョするなどです。運用・管理面... 【Linux】tailコマンドを利用してリアルタイムでログ監視 - Minory 当初は方法がわからなかったため、ログファイルを編集モードで開いて追加していましたが、今回紹介する for ( ループ )を利用した コマンド 1発で、ログファイルに 複数行 を一気に書き込むことができたのでメモしておきます。 ファイルに複数行追加 繰り返しのfor文 開発経験者なら当たり前ですが、処理を 繰り返す ために for や while といった構文が、どのプログラミング言語にも用意されています。 tail を利用したログ監視の記事では while を使用していましたね。 まずは見やすいように、 シェルスクリプト 形式で複数行&インデント付きで解説していきます。 for i in {1..10} do echo "test${i}" >> test.log done 1行目はこのようになります。 for [変数名] in {[開始]..[終了]} つまり、変数iが do ~ done の中で 1 から 10 まで 繰り返す ということ。 結果は” test~ “の後ろに連番が付きます。 1行のコマンドとして 上記の内容をたった1行の コマンド として表すとこのようになります。 for i in {1..10}; do echo "test${i}"; done >> test.log 今後、色々なテストで使えそうですね!

LinuxでApacheのAliasを設定して複数のサイトを公開する

イメージ
Linux で Apache をインストールすると、デフォルトの DocumentRoot は以下の場所になります。 /var/www/html ただし、これだと1つのWEBサーバーに対して1つのサイトしか公開できません。 複数 のサイトを公開する場合、 サブディレクトリ と サブドメイン の2種類の方法があります。 今回は Apache の Alias を設定して、 DocumentRoot 以外の サブディレクトリ を複数のサイトとして公開する方法をご紹介します。 ApacheのAliasを設定 Alias専用のconfファイル作成 直接 httpd.conf に書くと可読性が悪くなるので、 Alias 専用のファイルに分けて書くことにします。 まずは httpd.conf を開き、 vi /etc/httpd/conf/httpd.conf 以下の設定があることを確認します。 IncludeOptional conf.d/*.conf 設定がない場合は追記、コメントアウトされている場合は有効化してください。 これは、 /etc/httpd/conf.d 以下にある全ての .conf ファイルの設定を読み込むという意味です。 では、早速ファイルを作成します。 ファイル名は任意ですが、末尾に必ず .conf を付けましょう。 vi /etc/httpd/conf.d/alias.conf 次は作成したファイルにそのまま Alias 設定を記述していきます。 サブディレクトリを設定 参照したい サブディレクトリ のパスを Alias と Directory に記述します。 Alias /sample /var/www/sample <Directory "/var/www/sample"> Order allow,deny Allow from all </Directory> 解説 Alias は以下のように設定します。 Alias [公開URL] [参照するサブディレクトリ] 指定した[ 公開URL ]はサイトの サブディレクトリ として、このような URL で参照することができます。 [ 参照するサブディレクトリ ]には Do...

【ESXi】VMware Host Clientのタイムアウトを無効にする方法

【Linux】tailコマンドを利用してリアルタイムでログ監視

イメージ
今回は ログ を 監視 して、メッセージに特定の文字列が表示されたら、 シェルスクリプト の指定したアクションで、メッセージの内容を利用した処理を行うのが目的です。 例えば、WEBサーバーの ログ に「404」の文字列が表示されたらゴニョゴニョするなどです。 運用・管理面では使える コマンド だと思いますが、 ログ 解析ツールが無料で世の中に出回っている昨今、あまり活躍する場面が思い浮かびませんが…。 使うかどうかはわかりませんが、覚えておいて損はないと思いもいます。 tailコマンドでログ監視 以下のような記述をすることで、指定した ログ を リアルタイム で 監視 することができます。 tail -n 0 -F /path/to/log オプション の解説は後程ご紹介します。 まずは、 シェルスクリプト のサンプルを作成してみましたのでご覧ください。 サンプルスクリプト #!/bin/bash target_log="/var/log/httpd/error_log" search_word="404" sample_action() { while read i do field2=`echo ${i} | grep "${search_word}" | awk '{print $2}'` if [ -n "${field2}" ]; then echo ${field2} fi done } tail -n 0 -F ${target_log} | sample_action exit まずは末尾をご覧ください。 上記の例では、 ログ を 監視 すると同時に新しいメッセージが追加されたら、 sample_action() 関数を実行します。 sample_action() の中では、追加されたメッセージに” 404 “の文字が含まれるかを grep コマンド で検索し、見つけたら awk コマンド で第2フィールドを抽出して echo で表示するものです。 オプション解説 -n 末尾から表示する行数を指定。 ここでは標準出力しないように”0″を指定。 -F [...

Linuxサーバーで起動時に1回だけ実行するCronを設定する

イメージ
以前、 Cloud9 を 自宅サーバー ( CentOS 7 )にインストールした記事は覚えているでしょうか? Cloud9 を起動するには Node.js で実行してあげる必要があります。 この度、AWSに買収されたCloud9のサービスが終了となりますので、今まで構築してきたデータを移行する先として、AWSではなく自宅サーバー(CentOS 7)にCloud9をインストールして、これまでと同じように利用できる環境を構築したいと思います。Cloud9をインストール... 自宅サーバー(CentOS 7)にCloud9をインストールする方法 - Minory しかし、一度シャットダウン、またはリブートしてシステムが起動した後に手動で実行するのは面倒です。 そこで、今回は システム起動時に1回だけ自動で特定のコマンドを実行 するよう、 Cron で設定する方法をご紹介します。 日時に”@reboot”を指定する Cron には、普段 日時 を設定している箇所に入力する、数字やアスタリスク(*)の代わりとなる構文が用意されています。 システム起動時に1回だけ実行する場合は、 @reboot を利用します。 @reboot root sh /path/to/hoge.sh 他にも、1時間に1回実行する @hourly や1日1回実行する @daily 、1月に1回だけ実行する @monthly なんかもあります。 詳しくは参考サイトをどうぞ! システム起動時に特定のコマンドを実行するには − @IT - www.atmarkit.co.jp これを使うと、 サービス の自動起動っぽく使えますね!

1つのサーバに2つ以上のIPアドレスを設定する方法(CentOS 7)

【Linux】シェルスクリプトからsendmailでメールを送信する方法

イメージ
バックグラウンドで処理を実行している場合、正常に処理が終了したのか確認したい場合があります。 モニターに表示するのも1つの手ではありますが、活動時間外やその場にいない時は、 メール で送信してくれるととても便利ですよね。 そこで今回は、 Linux で メール 送信をする簡単な シェルスクリプト をご紹介します。 sendmailでメール送信 まず前提として メール が送信できるサーバであること。 ここでは sendmail コマンド を利用します。 メール内容を作成 送信したい メール の内容を テキスト ファイル で作成します。 vi mail.txt ファイル名は任意です。 内容は以下の形式に従って作成します。 From: <[送信元]> To: <[宛先]> Subject: [件名] [本文] From: 、 To: の<>内にそれぞれ送信元と宛先の メールアドレス を。 それから、 Subject に メール のタイトル、一行空白の改行を入れて本文を記載します。 メールを送信 あとは、 sendmail コマンド を実行する際に、先程作成した テキスト を指定してあげればOKです。 cat mail.txt | sendmail -i -t i と t の オプション が気になる方はググってください。 文字コードや日本語対応 今回はこちらの記事を参考にしました。 プログラムからメールを送信したいなーと思ったことありますよね。そんな時、どうやってますか?何らかのプログラミング言語でメール送信用のライブラリーの使い方調べて組む?いやいや、そんなことしなくてもシェルスクリプト(と基本的なコマン... シェルスクリプトでメール送信、「さようならnkf」編 - Qiita - Qiita 文字コード を指定して 日本語 の メール を送信しても 文字化け しないように対策できるようなので、皆さんもぜひ試してみてください。

自宅サーバー(CentOS 7)にCloud9をインストールする方法

イメージ
この度、 AWS に買収された Cloud9 のサービスが終了となりますので、今まで構築してきたデータを移行する先として、 AWS ではなく 自宅サーバー ( CentOS 7 )に Cloud9 をインストールして、これまでと同じように利用できる環境を構築したいと思います。 メールが届いた時には衝撃でした。AWSに買収されたのでいつかは来るだろうと思っていましたが、当ブログで度々紹介している、オンラインIDE(総合開発環境)のCloud9が今年いっぱいでサービス終了となります!英語で来たメールの内容を翻訳して要点をまとめました。... Cloud9サービス終了!今後は買収されたAWSでのみ利用可能 - Minory Cloud9をインストール 事前準備 Cloud9 を動作させるには、 Python やら Node.js やら諸々必要になります。 以下の参考サイトを一部引用して準備を進めていきます。 Web上で動くIDEである「Cloud9」を自サーバー(さくらVPS)にインストールしてみたので手順をメモ。 Cloud9を自サーバにインストールしてどこでもコーディング - きじとら まず、 wget や Node.js やらは割愛させていただきます。 Python については、 CentOS 7 にデフォルトで入っているバージョン 2.7.5 をそのまま使用するものとします。 著者の環境では、全てインストール済みで揃っていると思ったのですが、いざインストールしてみると glibc-static が不足していました。 yum install glibc-static 事前準備の注意点はこれくらいでしょうか。 SDKインストール それでは本題の Cloud9 SDK を CentOS 7 にインストールして行きましょう。 上記の参考サイトでは、インストールする前に一般ユーザーに切り替えたり、言語設定をしていましたが、結果的にしなくても動いたので、今回は割愛させていただきます。 Cloud9 のインストール手順は公式の GitHub そのままで間違いないです。 Cloud9 Core - Part of the Cloud9 SDK for Plugin Development - ...

ログを出力しないプロセスをバックグランドで実行する方法

イメージ
開発メモです。 例えば、 Linux である コマンド を実行する場合に、 実行 ログ や エラー ログ も必要なく、 バックグラウンド で実行する方法です。 ネットでは 標準エラー は残しておくべきだとの意見が多いですが、 エラー が発生しても無視したいので、ここではそれすら残さないようにします。 ログを残さない! 頻繁に同じ プロセス を実行する際、その処理が膨大だった場合、そしてその膨大な処理に何らかの不具合が発生した場合、出力される ログ も膨大になってしまいます。 しかも、 ログ にはほぼ同じ内容が出力されるはずです。 特に検証済みで、結果を確認しなくて良い、もしくは、 エラー が発生しても無視して問題ないのなら、 ログ を出力しない方が良いこともあります。 全ての出力結果を捨てる 早い話、書き方は以下の通りです。 command > /dev/null 2>&1 出力結果を捨てる[ > /dev/null ]と、 エラー出力 の結果を 標準出力 の結果と マージ する[ 2>&1 ]を組み合わせています。 つまり、エラーと実行の ログ を一緒にして 捨てる ということです。 詳しくは、参考サイトをご参照ください。 ## 質問- `command > dev/null 2>&1`ってよく書いてませんか?- crontabでよく書いてませんか?- でもそれ、前のcrontabコピペして書いてませんか?- 実は意味を理解せずに書いてません... いい加減覚えよう。 `command > /dev/null 2>&1`の意味 - Qiita - Qiita バックグラウンドで実行する これは調べればすぐに出てきました。 末尾に「 & 」を付けるだけのようですね。 command & これだけです。 特に説明の必要はありませんね。 著者には利用する場面を想像できませんが、巷では プロセス 実行中に バックグラウンド に切り替る情報が多かったです。 ログを残さずバックグラウンドで実行 いよいよ実行方法です。 上記で記述した2つの内容を単純に掛け合わせればできあがるのですが、書く 順番 が重要な...