サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
ex1.m-yabe.com
LVMでルートパーティションに増設ディスクを追加する LVMでルートパーティションを構築している環境で、ルートパーティションの空き容量が少なくなったきたので、増設ディスクを追加して、そのディスクもLVMに追加します 下記のように「/dev/xvda」の1本のディスク構成で、その領域をルートパーティションに構成しています。 もともと20G の少ないディスクで運用して、ルートパーティションの空き容量が 35%くらいとなっています。 大きいファイルができると、すぐに空き容量が少なくなるので、20Gのディスクを増設してルートパーティションの容量を増やします $ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 8
psqlの接続と接続、指定したデータベースへの接続 普段はMySQLを使用しているので、PostgreSQLとはDBへの接続方法やDBの選択や終了などを違うので簡単にまとめてみました psqlへの接続 PostgreSQLへのデータベースへの接続は、「psql」という、コマンドラインベースのツールを利用します。 データベースへの接続方法は、「psql -U postgres」で接続できます。psqlに接続できると「postgres=# 」の表示に変わります # データベースに接続します $ psql -U postgres psql (9.2.24) Type "help" for help. postgres=# # postgresユーザーにスイッチしてから、psql を叩いてもデータベースに接続できます # su - postgres Last login: Fri Oct 1 10
久しぶりにPostgreSQLを触って、データベース一覧を表示しようと思ったら、以下のようにエラーになりました。 MySQLとコマンドが違うので、「show databases」と叩くと、「ERROR: unrecognized configuration parameter “databases"」とエラーになります。 -bash-4.2$ psql psql (9.2.24) Type "help" for help. postgres=# show databases; ERROR: unrecognized configuration parameter "databases" postgres=# \| Invalid command \|. Try \? for help. PostgreSQLでは「\l」で表示されます。「\l」の l は、小文字のLの文字です。 WEBで見た
acme.shで無料SSL証明書を発行する CentOS 6系のサーバーでPythonのバージョンが古く、最新のcertbot を使えなかったのでシェルスクリプトで動作する「acme.sh」でワイルドカード形式の無償SSL証明書を発行しました acme.shをインストール acme.shをダウンロードしてインストールします。インストールは簡単にcurlでダウンロードしてシェルを実行すればインストールできます $ cd /usr/local/src $ curl https://get.acme.sh | sh 一度ステージング環境で実行します。ワイルドカード証明書を発行するのでDNSにTXTレコードの登録が必要ですので、その必要な値が表示されます ステージングで一度実行 .acme.sh/acme.sh --test --dns --yes-I-know-dns-manual-mode-e
CentOS 6で構成されている古いサーバーで、yum コマンドでアップデートをかけると下記のようなエラーが発生してアップデートできなくなりました $ sudo yum update httpd Loaded plugins: fastestmirror, priorities Setting up Update Process Determining fastest mirrors YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/repo/arch combination/ removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt CentOS 6で
概要 Windows10のエクスプローラーでフォルダを表示すると、下記の画像では、「日付」ごとにファイル・フォルダがグループ分けされて表示されています。 このように「日付」・「拡張子」・「名前」等で各ファイル・フォルダがグループ分けされて表示されているのを解除する方法を紹介します フォルダのグループ化を解除する方法 1.グループ化されているフォルダを開いて、画面の上のリボンから「表示」を選択します 2.真ん中の付近で「グループ化」の設定するアイコンがあるので選択します 3.「なし」を選択すると、グループ化を解除できます
PostgreSQLのバックアップとリストアをする PostgreSQLのデータベースをバックアップするには「pg_dump」を使用して、リストアする時は「pg_restore」を利用してバックアップ及びリストアします pg_dumpでデータベースをバックアップする データベースをバックアップするには、「pg_dump」コマンドを利用します。 下記のコマンドでは、/var/tmp/demoshop.db に demoshopのデータベースをカスタム形式で出力します $ pg_dump -Fc demoshop -f /var/tmp/demoshop.db オプションの詳細 -F 出力する際の形式を指定します(cがカスタム、tがtar、pがテキスト) -f 出力するファイルを指定します。 ファイルを基にする出力形式ではこのパラメータは省くことができます。 データベースの上書きについては、「
概要 Apacheで「.htaccess」を有効にする方法を紹介します。「.htaccess」を有効するとディレクトリ毎にIP制限をおこなったりユーザー認証をおこなったりと色々と設定を行うことが出来ます。 「.htaccess」の ファイル名を変更する場合は、 AccessFileName ディレクティブを使って設定すれば、 ファイル名を変更する事ができます # vi /etc/httpd/conf/httpd.conf AccessFileName .config 「.htaccess」を有効にする設定 「.htaccess」を有効にするには、「AllowOverride」ディレクティブを変更することで有効になります 「.htaccess」を有効にする場合 後で説明しますが、「AllowOverride」では認証に関するディレクティブやモジュールに関するディレクティブなどを設定を柔軟にお
cronを5分おき、10分おき、15分おき、に実行する cronで5分おき、10分おき、15分おき、等の○分おき、cronを実行する方法です $ crontab -e # 5分おきに実行 */5 * * * * command # 10分おきに実行 */10 * * * * command # 15分おきに実行 */15 * * * * command cronを3分、8分、13分等の、5分おきに実行する 5分おきの場合、「*/5 * * * *」だど、0分、5分、10分になるが、3分、8分、13分など中途半端な時間に実行したい場合は以下となります $ crontab -e # 3分,8分,13分,18分,23分・・・の5分おきに実行 03-59/5 * * * * command cronを2時間おき、3時間おき、に実行する cronで2時間おき、3時間おき、等の○時間おき、cronを実
格安のLighatsailについて 今は月額1,000円程度でメモリが1GのVPSサービスを利用しています。特に大きな不満がないですが同じような価格でAWSのVPSサービスみたいな「Lighatsail」が価格改定され、3.5 USDから利用できるようになっています。 また、3.50 USD のLightsail プランを 1 か月間 (750 時間まで)は無料で利用できるので、移行するか検討中です。 Lightsailのメリット LightsailのメリットはAWSの基盤で格安でサーバーを動かせることです。また下記のような特徴があります 月額の料金が安い。一番安いプランだと、3.50 USDから IPv4の固定IPが利用可能 ストレージがSSDで、値段の割に容量が多い 日本リージョンに対応している(東京リージョンのみ) スナップショットが利用できる(1 か月あたり 0.05 USD/GB
iptablesでルールの番号を指定してルールを削除する方法 iptablesで特定のルールやテスト等で一時的に作ったルールだけを削除したい場合があると思います。その場合の方法を紹介します。 iptableで、ルール番号表示する方法 特定のルールなど1つだけ方法は、まずがルールの番号を表示します。 書式:iptables -L --line-numbers 書式:iptables -nL --line-numbers #IPアドレスのみで表示(ホスト名・ネットワーク名・サービス名で表示されしない) ※オプション「n」では、ホスト名・ネットワーク名・サービス名で表示されしないでIPアドレスのみで表示します $ sudo iptables -nL --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source des
logmonでの除外キーワードを設定する logmonのログ監視では、指定した文字列のみヒットするとメールを送付する、任意のシェルスクリプトを実行するなどのアクションが実行できます。 ※ logmonのインストール方法は「logmonでログ監視 」を参照 除外キーワードを利用してのログ監視ですが、以前の記事(logmonでの除外キーワード)でも書きましたが、設定ファイルでの除外キーワードの設定がなくlogmonでは特定の文字列を除外してログ監視はできません。 但し、ログ監視で特定の文字列を検知した場合に、一旦のその内容をファイルに出力し任意のシェルスクリプトを利用してログ監視すれば可能です シェルスクリプトを利用して除外キーワードを設定してログ監視する logmonで除外キーワードを設定してログ監視する場合はですが、以下のような流れなら除外キーワードを設定してログ監視ができます 特定の文字
Apaceh起動時に「Starting httpd: AH00558: httpd: Could not reliably determine the server’s fully qualified domain name〜」と表示される Apacheをインストールして起動すると、下記のエラーが表示されるがApacheは起動する場合がありました。 # /etc/init.d/httpd24-httpd start Starting httpd: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this m
wgetを使っってFTPサイトをディレクトリを一括ダウンロード あるFTPサイトのバックアップスクリプトを作っていて、FTPサイトをFTPコマンドでダウンロードしようと思ったのですが、FTPコマンドだとディレクトリをまるごとダウンロードするって事ができないのでどうするか悩みましたが、「wget」コマンドを利用するとダウンロードできるようです $ wget -mc ftp://「ユーザー名」:「パスワード」@「ディレクトリのURL」 # FTPサイトが:www.example.com/public_htmlの場合で # ユーザ名が ftpuser パスワードが pass1234 の場合は以下となります $ wget -mc ftp://ftpuser:pass1234@www.example.com/public_html www.example.com等のドメイン名のディレクトリは不要な場
長時間起動したままのプロセスをKillする Cronで実行するスクリプトで実行時間が短いはずなのに長時間起動したままで終了していないプロセスがあり、プロセスが残っていた状態でメモリが使用率が増えるケースがありました。 1週間以上とか起動したままのプロセスを手動でKillしてましたが、いつもKillコマンドなので終了していたのを、ある一定上経過しているとKillしてくれるスクリプトを紹介します 長時間起動しているプロセス・スクリプトをKillするシェルスクリプト 長時間起動しているスクリプト・プロセスをKillするシェルスクリプトですが、Killする条件ですが下記の条件とします 自分自身のプロセスはKillしない 起動時間は一定以上のみKillする(下記のスクリプトでは10分以上の場合) 起動時間の取得方法ですがpsコマンドでもプロセスの起動時間を取得できますが、psコマンドのTIMEはCP
Windows Subsystem for Linuxで teraterm のようにマウス操作でコピー&ペーストする方法 bash on Windowsで、ペーストしたりする時メニューの編集から貼り付けをしたりしていたけど、Teratermのようにマウス操作で右クリックでペースト、カーソル選択すると選択範囲をコピする方法を紹介します Windows Subsystem for Linuxでコピペできるように設定する コマンドプロンプトの設定と同様で「簡易編集モード」をOnにすればOKです。 普段はコマンドプロンプトを簡単なコマンドしか打たないのでこの機能があるのは初めて知りました。 1.「bash on Windows」を起動します 2.ウィンドウタイトルバーを右クリックして「システムメニュー」を表示します 3.「プロパティ」を選択します 4,「簡易編集モード」をチェックを入れます 「コピ
Windows Subsystem for LinuxでLinuxのコマンドを利用できるので、Googleフォトにある画像ファイルをローカルのディスクとネットワークドライブとして使用しているNASに「rsync」でバックアップする事にしてみました。シェルスクリプトも使えるのでバックアップも簡単になります。 ※Windows Subsystem for Linuxでは「Ubuntu」を利用しています バックアップスクリプトを作るのにいくつかの問題点がでてきました。これば「Windows Subsystem for Linux」の仕様の関係と思いますが、まずは「Google ドライブ」のあるディレクトリがLinuxからのパス「 /mnt/c/Users/(ユーザ名)/Google ドライブ」となりますが、コマンドラインだと問題なく利用できますが、シェルスクリプトだとエラーになります。空白を¥で
Crontabを実行時に環境変数が読み込まれない cronに登録しているスクリプトでログに特定の文字を含むとメールするスクリプトがあります。メールする本文やタイトルに日本語文字が場合に文字化けが発生しました。 スクリプト単体だと問題なく日本語で表示されcron経由だと文字化けするので環境変数がおかしくなっているか調査しました。 簡単に環境変数を出力する下記のスクリプトを作りました。「printenv」コマンドでも良かったですが必要のない項目も表示されるので、下記のようなスクリプトしました #!/bin/bash echo "USER: $USER" > env_result.log echo "PATH: $PATH" >> env_result.log echo "LANG: $LANG" >> env_result.log echo "HOME: $HOME" >> env_resul
grepコマンドで特定の拡張子のファイルのみ検索する方法 grepコマンドでHTMLファイル等の特定のファイルを対象に検索したい場合はオプションで、「–include」のオプションを利用します。 書式:grep -r –include=’*.html’ <検索キーワード> <対象ディレクトリ> 上記のでは、対象ディレクトリに対し検索キーワードで検索してます。 「-r」で検索ディレクトリに再帰的に検索するのでサブディレクトリも検索しています 「–include=’*.html’」で検索するのにファイルの拡張を指定しています $ grep -r --include='*.html' "hogehoge" /var/www/html grepコマンドで特定の拡張子のファイルを除外して検索する方法 grepコマンドで、PHPファイル等の特定のファイルを対象に検索したい場合はオプションで、「—exc
iTerm2 で複数行をペースト時に警告 iTerm2がVer3くらいに上がったときくらいから複数行の貼り付けを実施する場合に、下記の画像のように警告メッセージをおこなうよう設定ができるようになっています。 Linuxでターミナル操作でコピペする機会が多く間違って複数行をコピーした場合に警告メッセージができるのは大変使いやすかったです。 この複数行の警告機能WindowsのTeraTerm等はこの機能かなり昔からありましたが、Macだとこのような親切な機能は少ないように思えます 複数行の警告メッセージですが、macOSをクリーンインストールしてiTerm2を再インストールしたら複数行の貼り付け時に警告メッセージがなくなりました。iTerm2は日本語化されてないのでその設定箇所を探すのに少し苦労しました iTerm2で複数行をペースト時に警告メッセージを表示する設定 警告メッセージを表示する
概要 phpMyAdminをインストールして、IP制限をかけてないことを思い出して、いつもどおりに設定したらちゃんと動かなかったのでハマりました。 以前はCentOS 6でApache 2.2系でWEBサーバーを構築するケースが多くて、2.4系からIP制限の書き方が違うのは気付かなかったです。 2.4系からIP制限について 2.4系からアクセス制限の書き方は以前と比べると簡単になっています。 2.4系ですべての接続元を許可する場合 # 2.2系以前のApache Allow from all # 2.4系以降のApache Require all granted 2.4系でローカルのみアクセスを許可する場合 # 2.2系以前のApache Order deny,allow Deny from all Allow from localhost # 2.4系以降のApache Require
概要 lsコマンドなどで容量を自動でMB,GBなど見やすい単位で表示にする方法は、オプションで「h」を使用します 通常ですと、以下のようにバイト単位で表示されます $ ls -l 合計 1152212 -rw-rw-r-- 1 admin admin 1073741824 6月 8 17:00 gb.txt -rw-rw-r-- 1 admin admin 102400 6月 8 16:59 kb.txt -rw-rw-r-- 1 admin admin 104857600 6月 8 17:00 mb.txt LSコマンド 容量表示のオプション オプションで「h」を使用しようすうと自動で見やすい容量の単位になります $ ls -lh 合計 1.1G -rw-rw-r-- 1 admin admin 1.0G 6月 8 17:00 gb.txt -rw-rw-r-- 1 admin admi
logmonのログ監視について ログ監視は、zabbix, nagios ,swatch等を利用すると導入できますが、設定が簡単ではなかったり導入を躊躇するケースがあると思います。 logmonはIBMが作成したログ監視ツールで、プログラム自体は120行ほどでPerlスクリプトです。設定も簡単で設定したログファイルに該当キーワードがあると、メール送信したりスクリプトを実行したり任意のコマンドを実行できたりします logmonのインストール インストール自体は、gitでlogmonを取ってきて「./setup.sh」のセットアップスクリプトを実行することできます。 # cd /usr/local/src/ # git clone https://github.com/moomindani/logmon.git # cd logmon/ # ./setup.sh + mkdir -p /etc
Apacheの起動方法について Apacheで設定ファイルを変更した後の再起動ですが、大きく分けると「restart」、「reload」、「graceful」があります。このオプションの違いですが、以前の職場では以下のようなルールでした。 サービス影響が少ないかたちでの再起動は「graceful」を使う サービス影響をあまり気にしなくても良い再起動は「restart」を使う 設定ファイルの読み直しのみは「reload」を使う 実際のApacheの設定ファイルを読み直しに使用する際のオプションの違いは以下となります Apacheの「graceful」について gracefulを利用した場合は、以下のような処理でApacheが再起動します 子プロセスは、現在のリクエストが終了後に終了します 親プロセスは設定ファイルを読み直し、変更した設定が反映されます 子プロセスが徐々になくなるに従って、 新
SSHクライアントは、Windowsの時は Tera Term を使ってましたが、macOS では 標準のターミナルソフトとiTerm2を使用しています 標準ターミナル・iTerm2を使用していて少し長めに離席したりして、操作をしない時間があると「Write failed: Broken pipe」や「packet_write_wait: Connection〜〜」のエラーがでて接続切れることがあります Write failed: Broken pipe packet_write_wait: Connection to xxx.xxx.xxx.xxx port xx: Broken pipe 標準のターミナルソフトの対策 keepAliveの設定を変更すると解消する場合があるので、ssh/configを以下のように設定しました 設定自体は、「~/.ssh/config」に ServerAl
概要 ownCloudをサーバーに導入しましたが、暗号化したいのでSSL証明書をインストールします。SSL証明書は無料の「Let’s Encrypt」を利用します。 Let’s Encryptは、2016年4月から正式なサービスを開始され、SSL(TLS)に利用できるサーバ証明書を無償で発行している認証局またはサービスです。証明書の発行期限は90日と短いですが、無料なのと、導入にはコマンドを叩くだけで導入できます。 また、証明書の発行期限は90日と短いですが、証明書を発行するコマンドをcronに設定すれば自動でおこなえます Let’s Encryptの詳しい説明は以下のサイトを参考にして下さい ITmedia:無償かつ自動でSSL(TLS)証明書を発行できる「Let’s Encrypt」とは? CentOS 6.x系の場合は、Pythonのバージョンが古いのでこの作業では更新できないので下
macOS Xを起動すると「FinderSyncAPIExtensionはどこにありますか?」と表示されるケースが何回ありました。こちらのエラーメッセージですが、Googleドライブが原因のようです。 対策 対策ですが、Googleドライブを再起動すればOKです。手順は以下のようになります Googleドライブをメニューバーから終了する アプリケーションから、Googleドライブを起動します また、FinderSyncAPIExtensionはどこにありますか?と表示された場合は、Googleドライブを指定すれば、上記と同様にエラーの回避になります FinderSyncAPIExtensionはどこにありますか?と表示された場合は「ブラウズ」を選択します 「アプリケーション」内の「Googleドライブ.app」を選択して「選択」をクリックします
2017年のうるう秒について 平成29 年(2017 年)1月1日(日)の午前8時59分59秒と午前9時00分00秒の間に「8時59分60秒」を挿入される模様にです 「うるう秒」挿入のお知らせ(NICT) 「うるう秒」挿入のお知らせ(総務省) システム管理や運用をしている人は、2017年の元旦は1秒長いのか〜て感じですが、インフラ系のエンジニアなら、うるう秒で障害発生しないか気になると思います。 前回の2015年は7月1日だったのに、何故に元旦にするのか疑問です。正月早々に早起きって酷すぎる。またCentOS 7については、こちの方はうるう秒の対応は必要がないかと思われます。 うるう秒の対策 前回のうるう秒(2015年の7月1日)と同様の方法で実施予定です。下記のリンクの設定でntpdの設定変更で大きなトラブル無くうるう秒は迎える事はできてます 参考ページ:2015/07/01 うるう秒対
概要 Linuxでスクリプトを作っていると、あるプロセスが上がってないとサービス起動するとか、あるプロセスが上がってないとメールするとか、そのような監視プログラムを利用する場合あります。 その都度、以前使用したスクリプトでその箇所をコピーしたりしてきましたが、簡単なスクリプトですので紹介します プロセス監視 スクリプト スクリプトの流れですが、以下となります psコマンドで起動しているプロセス一覧を表示する その一覧よりgrepして監視するスクリプトが何個起動している確認する その結果をif文で分岐して、必要な処理をおこなう 監視するプロセスがダウンしていれば、サービスを起動する 特定のサービスの起動しているか停止しているかの監視をおこない、停止していれば起動するスクリプトです。 確認するサービスはApacheで作成しています。また、CentOS 6.x と CentOS 7.xでサービ
次のページ
このページを最初にブックマークしてみませんか?
『ex1-lab | Linux, CentOS, Windows, macOS, 仮想化, Apache等のLinux中心に気にな...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く