- blogs:
- cles::blog
Windows 10 で bash が動く!(というか Ubuntu が動く!)
microsoft
linux
sh
ubuntu
wsl Windows 10 の夏のアップデート(Windows 10 Anniversary Update )に Linux のサポートが組み込まれることが話題になっていたのでメモ。
Windows Subsystem for Linux が搭載され、Linux のバイナリがエミュレーターではなくネイティブで実行できるのが特徴のようです。
これで Hyper-V や VMWare などで別途インストールしていた Linux の開発環境のインストールが必要なくなるかもしれませんね。
Windows 10がBashに公式ネイティブ対応。マイクロソフトとカノニカルが協力、Ubuntu Linuxのコマンドラインツールがそのまま動作 - Engadget Japanese
これはマイクロソフト版のBashっぽい何かではなく、またVM上の動作でもなく、新たに開発された「Windows Subsystem for Linux (WSL)」を介したネイティブ動作であるとのこと。BashのバイナリはUbuntu Linuxの開発を主導するCanonicalが、Ubuntuとまったく同じものを提供します。
† 参考
incronでファイルやディレクトリが変更されたときに任意のコマンドを実行する
linux
sh 以前、簡易にディレクトリの同期を行う方法としてlsyncdを使った方法を調べましたが、単純にrsyncするだけではなくてもうちょっと手の込んだ事がやりたくなってきたのでlsyncdと同じinotifyベースで動作するincronをというソフトウェアを試してみました。
ファイル/ディレクトリの変更に応じて任意のジョブを実行するincron - SourceForge.JP Magazine
こうした伝統的なcronで行えるのが時刻指定型のジョブ実行であるのに対して、ファイルシステムの変更を検出して指定のコマンドを実行させるというコンセプトで作られたcronクローンの一種に incron というツールが存在する(正式名称はinotify cron)。incronを使用するための設定としては、どのようなファイル/ディレクトリの変更を監視対象とするかおよび、そこでの変更発生時に実行すべきジョブの登録が必要となる。
以下は作業メモ。
† インストール
ソースからインストールしなければならないかと思いきや、CentOS 5.4ではyumでいけました。
crontab -r とやってしまった時の対処法
linux
sh
ruby cronの設定を変えようと crontab -e と打とうとして、間違って crontab -r と打ってしまい、cronの設定が根こそぎぶっ飛んで参りました。「eとrは隣同士だから不慮の事故ですよ!」という他人の言い訳は以前から良く聞いていて、心の中で「そんなことあるかよ!」と思っていましたが、まさか自分がやってしまうとは思いませんでした。まったく言い訳できません。
そして、こういう事故は絶対やってはいけないアカウントでやってしまうのが世の常。今回も例に漏れずたくさんジョブが仕込んであるアカウントでやってしまいました。しばし茫然自失。気を取り直してなんとかしようと考え始めたものの、さすがにこれを記憶に頼って復旧させるのは至難のワザ・・・・・・というかぶっちゃけ無理。適当に復旧してちゃんとバッチが動かずに、後日障害で呼び出されるものイヤです。
済んでしまったことでくよくよしていても仕方が無いので、手動での復旧はあきらめ、/var/log/cron の実行ログからcrontabをサルベージする*1スクリプトを書いてみました。本当は時刻の設定とかも復元できるようにしようかと思ったのですが、まぁそんなにお世話になることもないのでそのあたりは手動で実施するということにします。いちおうリストアップされるようにしました。ユニークに出力する(*/5みたいに綺麗に畳んだりできない)ので出力は結構冗長ですが、そこは勘弁してください。
こんな感じで、対象のログファイルとユーザーが指定できるようにしてみました。
/var/log/cronが読める必要があるので、基本的にはrootユーザーで実行する必要があります。
こんな感じで、crontabが復元されるので、cron.(daily|hourly|weekly)に設定されている部分など、不必要な部分を除いてやればよいと思います。まぁ、対象がrootでなければ余計なものはあまり出てこないと思いますが。
[crontab -r とやってしまった時の対処法 の続きを読む]- *1: ちなみにこの方法は僕が考案したわけではなく、以前にとあるプロジェクトで同様の事故が起きた際にある人が考えついた方法です。そのときは手動でやっていたのを脇目で眺めているだけでした。
本当にすぐ使えるダミーsmtpサーバー
linux
python
sh 以前に3行でできる、テスト用メールサーバという話がありましたが、実際にテストサーバに導入して使おうと思ったら、サーバをリブートしたときでも大丈夫かとか、いろいろと考えなければいけないことが多かったので、init.dに放り込むだけで使えるようなスクリプトを書いてみました。
[本当にすぐ使えるダミーsmtpサーバー の続きを読む]
lsyncd ディレクトリのリアルタイムミラーリング
linux
sh FTPでポツポツと転送されてくるファイルをWindowsのファイルサーバーになるべくリアルタイムにコピーする必要があったのですが、ファイルシステムのリアルタイムミラーリングというとHA用の大艦巨砲なものが多いので、もうちょっとお手軽な感じのソフトはないかなと思って探してみたところ、lsyncdというソフトを見つけました。
Lsyncd uses rsync to synchronize local directories with a remote machine running rsyncd. Lsyncd watches multiple directories trees through inotify. The first step after adding the watches is to rsync all directories with the remote host, and then sync single file by collecting the inotify events. So lsyncd is a light-weight live mirror solution that should be easy to install and use while blending well with your system. See lsyncd --help for detailed command line options.
lsyncdはinotifyを使ってディレクトリを監視し、ディレクトリに変化が合った場合にはrsyncを使ってディレクトリを同期するという動作を行うようです。ファイル転送があると、いちいちrsyncするのでちょっと重いかもしれませんが、ファイルの転送はそんなに頻度が高いわけでもないし、そこまでの信頼性も必要ないので今回はこれで行くことにしました。
インストール自体は下記のコマンドで特に問題なくインストールできました。
アーカイブにはinitスクリプトが入っていないのでそのあたりは「リアルタイムミラーリングツール導入(lsyncd rsyncd) - Fedoraで自宅サーバー構築」を参考にしました。設定についてはアーカイブに入っているlsyncd.conf.xmlを/etc/lsyncd.conf.xmlにコピーしたのでその部分については書き換えています。
後は/etc/init.d/lsyncd startでデーモンを起動して、ファイルを送信元に放り込んでみると、リアルタイムに送信先にファイルが同期されます。
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5068)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4205)
4 . 年次の人間ドックへ(4137)
5 . 2023 年分の確定申告完了!(1つめ)(3995)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]