中年プログラマーの息抜き

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

外部サーバーのMySQLにssh経由で接続してダンプとリストアをしてみる

はじめに

今回は、SSHポートフォワードについてです。レンタルサーバーでXSERVERがありますが、月額約1,000円のプランでも、SSHが利用できますので、ここを対象にWEBからリモートでつないでWORDPRESSのDBをリストアする仕組みを考えているのですが、とりあえず今回はSSHポートフォワード試しました。

環境

 ・自サーバー(HYPERV【linux】)
 ・外部サーバー(XSERVER【レンサバ】)

ポートフォワード

ssh -f -N -L 10000:MYSQL-HOST:3306 -i SSH-RSA -p SSH-PORT SSH-USER@SSH-HOST

f, Nオプション:バックグラウンド起動のため必要
 →解放は、コンソールを終了するか、KILLコマンド
 →もしくは、Write failed: Broken pipe

MYSQLダンプ・リストア

mysqldump -p10000 -uMYSQL-USER -pMYSQL-PASSWORD DATABASE > FILENAME
mysql -p10000 -uMYSQL-USER -pMYSQL-PASSWORD DATABASE < FILENAME

まとめ

とりあえず動きそうというとこまでを作業しました。 ポートフォワードのポート番号が他と被るのは良くないので、多ユーザーを対象にしたいときは、ポート番号管理テーブルが必要になりそう。

証明書を破棄して削除する:Let's Encrypt:deleteオプション

はじめに

今回は、証明書を破棄します。そして不要なファイルを削除する方法をまとめます。

証明書の破棄

certbot-auto revoke --cert-path /PATH/TO/cert.pem --key-path /PATH/TO/key.pem

https://letsencrypt.org/docs/revoking/

証明書の削除

certbot-auto delete --cert-name CERTNAME

https://github.com/certbot/certbot/pull/4202

まとめ

「delete」で「cert-name」をつけずに実行しても全削除はできませんでした。削除対象選択を待ち受けるので、それなら、最初から指定するほうが良いと思います。

実行すると下記のファイルが削除されました。
 ・/PATH/TO/archive/{CERTNAME}/
 ・/PATH/TO/live/{CERTNAME}/
 ・/PATH/TO/renewal/{CERTNAME}.conf

d(`Д´)b39

jQuery:iFrame:PostMessageを使って動的に高さを変更する

はじめに

今回は、javascriptを使って、iFrameの高さを表示する画面の高さで動的に変更するお話です。 とあるサービスで、サービスログイン時にWORDPRESSへもログインして、サイト内へ管理画面を表示するような設計で進めていたのですが、いろいろな貴重な意見をいただいたのと、時間が作れたのとで、今は直感的に編集できるような感じで作り変えています。 そんな時に、この実装を見つけました。 半年ころ前に調べながら実装したのだと思うのですが、クロスドメインを意識するときは、他でも同じように作るのかもしれない・・ということでいったんまとめます。

仕組み

・iFrame内のサイト(送信側)は、任意のタイミングで「message」を送信する。
・iFrameを表示するサイト(受信側)は、イベントリスナで「message」を受け取る。

コード

まとめ

高さ調整に限らず覚えとくと便利な機能でした。

d(`Д´)b39