ER図などDBの定義を自動で生成できる、SchemaSpy。Docker Hub でホスティングされていて、非常に便利。
$ docker run -v "$PWD/schema:/output" --net="host" schemaspy/schemaspy:latest -t pgsql -host [DBHOST] -db [DBNAME] -u [DBUSER] -p [DBPASS]
ER図などDBの定義を自動で生成できる、SchemaSpy。Docker Hub でホスティングされていて、非常に便利。
$ docker run -v "$PWD/schema:/output" --net="host" schemaspy/schemaspy:latest -t pgsql -host [DBHOST] -db [DBNAME] -u [DBUSER] -p [DBPASS]
rsync -e "ssh -p 2288" -rva /home/user/work user@111.22.3.0:/home/user/work
ポートを指定する場合は、-e “ssh -p 2288”で指定する。
オプション-nで、dry-run実行となる。
rsync -e "ssh -p 2288" -rvna /home/user/work user@111.22.3.0:/home/user/work
失敗する場合は、パーミッションの問題が多そうです。
sclでインストールした、python2.7 で、証明書の自動更新が失敗していた為、
手動で実行してみると下記のエラーとなる。
OSError: Command /opt/eff.org/certbot/venv/bin/python2.7 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel failed with error code 1
調べてみると、pipのバージョンが古い可能性が有るということなので、下記を実行して更新ができるようになりました。
pip2.7 install --upgrade setuptools pip2.7 install --upgrade virtualenv pip2.7 install --upgrade pip
使用していないドメインを、certbot-auto で更新しない形にしたかったので、失効処理を調べて実行した際のメモ
./certbot-auto revoke --cert-path=/etc/letsencrypt/archive/www.example.com/cert1.pem
cert1.pem は、最新の証明書を指定。
実行すると、下記、証明書の格納ディレクトリ、更新ファイルが削除されていました。
/etc/letsencrypt/archive/www.example.com/ /etc/letsencrypt/live/www.example.com/ /etc/letsencrypt/renewal/www.example.com.conf
毎回設定を忘れるのでメモ
filter
$ vi /etc/fail2ban/filter.d/apache-ddos.conf [Definition] failregex = <HOST>.*"(HEAD|GET|POST).* ignoreregex = \.(?i)(jpe?g|gif|png|bmp|pdf|js|css|woff|eot|ttf|ico|txt|xml|swf|xlsx?|docx?|pptx?) \/wp-admin.*
banする条件
$ vi /etc/fail2ban/jail.d/local.conf [apache-ddos] enabled = true port = http,https # フィルタ名 filter = apache-ddos # 監視するログ名 logpath = /var/log/httpd/ssl/www*_access_log # 許容する接続回数 # 5回以上不正に接続するとBANされる maxretry = 5 # 不正アクセスカウント時間 # 80秒(80) findtime = 360 # BANした後、再び接続できるようになるまでの時間(秒) # 86400秒 = 1日 bantime = 86400 backend = polling
自分のIPは除外
$ vi /etc/fail2ban/jail.conf [DEFAULT] # # MISCELLANEOUS OPTIONS # # "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not # ban a host which matches an address in this list. Several addresses can be # defined using space (and/or comma) separator. ignoreip = 127.0.0.1/8 xxx.xxx.xxx.xxx/32
設定の有効化・チェック
$ systemctl reload fail2ban $ fail2ban-regex /var/log/httpd/ssl/www.example.com_access_log /etc/fail2ban/filter.d/apache-ddos.conf ← フィルターのチェック $ fail2ban-client status apache-ddos ← banされたIPアドレスの確認 $ less /var/log/fail2ban.log ← fail2banのログの確認
net.ipv4.conf.all.forwarding = 0になっているので、1にする。
$ sysctl net.ipv4.conf.all.forwarding net.ipv4.conf.all.forwarding = 0
↓
$ sudo sysctl net.ipv4.conf.all.forwarding=1 net.ipv4.conf.all.forwarding = 1 $ sysctl net.ipv4.conf.all.forwarding net.ipv4.conf.all.forwarding = 1
HostからVagrant経由で、Dockerにアクセスしてもなぜか繋がらなくなった。
↓
docker-composeでビルドし直してみる。
$ docker-compose build --no-cache .... IPv4 forwarding is disabled. Networking will not work
apt-getでパッケージupdateしようとした所、外部に出ていけなくなっていた。
↓
Vagrant上の、CentOSの、net.ipv4.conf.all.forwardingが 0 になっていて、外部に出れなくなっていた。
ネットワークの再起動で、
sysctl -w net.ipv4.ip_forward=0 > /dev/null 2>&1
となっている。
/etc/sysctl.conf
net.ipv4.ip_forward=1
Postgresにdumpをリストアしていたら途中でリストアに失敗して、CentOS再起動したらUNEXPECTED INCONSISTENCY;で起動しなくなりました。
/dev/VolGroup00/LogVol00: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options ) [FAILED] *** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell. Give root password for maintenance (or type Control-D for normal startup):
rootでログインして、fsckを実行しろと表示されるので実行。
# fsck -t ext3 /dev/VolGroup00/LogVol00
修復はすぐ終わり、起動時にエラーは出なくなりました。
Linux – infoユーザー宛のメールが受信できない – Qiita.
開発用のCentOSで、infoユーザーのメールだけrootに届くことに気づきました。
調べてみたら、デフォルトでエイリアスにpostmasterに転送するようになっているのですね。
$ vi /etc/aliases #info: postmaster #コメントアウト $ newaliases // 反映
問題なく配送されるようになりました。
$ env VAGRANT_LOG=debug vagrant up
$ vi Vagrantfile config.vm.provider :virtualbox do |vb| # Don't boot with headless mode vb.gui = true ... end
Vagrantfileのsynced_folderのパーミッションを変えて再起動したら、下記のエラーがでて起動しなくなった。
Timed out while waiting for the machine to boot. This means that Vagrant was unable to communicate with the guest machine within the configured ("config.vm.boot_timeout" value) time period. This can mean a number of things. If you're using a custom box, make sure that networking is properly working and you're able to connect to the machine. It is a common problem that networking isn't setup properly in these boxes. Verify that authentication configurations are also setup properly, as well. If the box appears to be booting properly, you may want to increase the timeout ("config.vm.boot_timeout") value.
timeoutの設定変更したりしたが、起動せず。
GUIモードで、VirtualBoxのコンソール出力して起動したら、起動時にエラーが出ている。
/dev/VolGroup00/LogVol00: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options ) [FAILED] *** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell. Give root password for maintenance (or type Control-D for normal startup):
fsckコマンドで修復する必要があるので、コマンドを調べて実行したら無事vagrantからも起動出来ました。
fsck -t ext3 /dev/VolGroup00/LogVol00
Vagrantにはsaharaという、VMの状態をロールバックしたりできるプラグインがあります。
下記に、詳しく書いてあります。
saharaでVagrantの状態管理 – Qiita [キータ].
インストールは、vagrantコマンドでインストールしました。
$ vagrant plugin install sahara $ vagrant plugin list
確認
$ vagrant plugin list sahara (0.0.15)
saharaプラグインをインストールするとVirtualBoxに別のイメージが作られて、そこを使って状態を管理するようです。