実行中のシェルスクリプトを編集すると実行している途中から動作を変えることができることはよく知られている。 例: http://d.hatena.ne.jp/sleepy_yoshi/20090917/p1 「変えることができる」というよりも現実のケースでは、実行中に意図せず内容を変えてしまうことで予想しない挙動をさせてしまうことがありうる。これを防ぐにはどうするか。 例 次のようなスクリプトを実行中に書き換えてみる
![Tips: 実行中のシェルスクリプトを書きかえるときには - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/d056e4d1f8a3037f2c2ed7e97184a3e1e4d1f9d0/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9VGlwcyUzQSUyMCVFNSVBRSU5RiVFOCVBMSU4QyVFNCVCOCVBRCVFMyU4MSVBRSVFMyU4MiVCNyVFMyU4MiVBNyVFMyU4MyVBQiVFMyU4MiVCOSVFMyU4MiVBRiVFMyU4MyVBQSVFMyU4MyU5NyVFMyU4MyU4OCVFMyU4MiU5MiVFNiU5QiVCOCVFMyU4MSU4RCVFMyU4MSU4QiVFMyU4MSU4OCVFMyU4MiU4QiVFMyU4MSVBOCVFMyU4MSU4RCVFMyU4MSVBQiVFMyU4MSVBRiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NGM2NDkxMjEzMmNmZTlhNWQzMmI3OGYxNGYyMzNkMmY%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa2l0c3V5dWkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTY3Yzk3ODMwMGUxMGUwYWUyZTkzNGYwNjA2MDE3ZTk3%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Da483e7075205800dc024062a79253885)
実行中のシェルスクリプトを編集すると実行している途中から動作を変えることができることはよく知られている。 例: http://d.hatena.ne.jp/sleepy_yoshi/20090917/p1 「変えることができる」というよりも現実のケースでは、実行中に意図せず内容を変えてしまうことで予想しない挙動をさせてしまうことがありうる。これを防ぐにはどうするか。 例 次のようなスクリプトを実行中に書き換えてみる
(Docker で) ローカルに APT のパッケージリポジトリキャッシュサーバ (apt-cacher-ng) を建てたら幸せになった。aptDockerapt-cacher-ng 経緯 Dockerfile を何度も編集して apt-get install していると、 パッケージのダウンロードに大きく時間を喰ってると体感することが多かった。 特に既存のイメージを継承しない新しいイメージを作るときは、 git のような基本的なパッケージまで再取得する。 ミラーかキャッシュか かといって apt-mirror を使ったフルミラーを建てるのもなかなか手軽ではないと感じたので、 apt-cacher-ng でキャッシュ用のプロキシサーバを建てることにした。 apt-cacher-ng では取得したパッケージのみをキャッシュするので、 apt-mirror のように導入初期に大量にパッケージを
経緯 最近、私はデータウェアハウスの構築や選定について色々と調査している。 時間を経て成長してきた組織では、年月を経て様々なデータベースが存在することが普通である。 それらのデータベースには特性や得手不得手や所在の差異 (OLAP, OLTP, KVS, ドキュメントストア, クラウド, オンプレミス...) があり、それぞれの差異には合理的な意味がある。 一方で、データ分析者にとっては、それら各データベースに存在するデータをあたかも 1 つのデータベースとみなして分析できるほうが都合が良い。 異なるデータベースを 1 つのデータベースとして扱う方法 Embulk を活用して、データウェアハウスとなる DB にデータを定期的にインポートする。 Presto を活用して、複数のデータベースに分散クエリを走らせ Presto Server 上で結合処理する PostgreSQL の FDW を
なぜこれをやろうと思ったか Docker を aufs ではなく Device-mapper で使っていて、なんだか「おかしいな」と思うことがあった。 https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker の Ubuntu でのインストール方法によると、 Prerequisites by Ubuntu Version の項に For Ubuntu Trusty, Wily, and Xenial, it’s recommended to install the linux-image-extra-* kernel packages. The linux-image-extra-* packages allows you use the aufs storage driver. とある。 aufs を使うこ
面倒 毎度これを打っていたので、次第に面倒になって、ホストの cron に仕掛けようかと思った。 しかし「ホストマシンの cron に仕掛ければいいじゃん」みたいなのは、なんだか Docker らしくない解決方法に感じる。 なので、この削除の処理をさらに Docker コンテナとして実行したいと思った。 誰しも同じようなことを考えるもので、既にそれを spotify が作っていたらしい。 spotify/docker-gc これを実行するだけ。 やばい。楽。 自分は Jenkins 経由でこれを各 Docker Host で実行している。 sock をマウントしてるけど? UNIX Socket 経由でホストの Docker と通信できるので、いろいろ応用ができそうだ。 自分が知らなかっただけで、 どうやら Docker で Docker を管理したり、 Docker ホスト内全体の文脈に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く