GETする最近お目にかからなくなってきたFTPサーバから、データをGETするスクリプトを組んでたのでメモ。ftplibを使って、指定ディレクトリからデータをGETする簡単なサンプルコードです。gzファイル取りたかったのでバイナリモードにしてますが、ASCIIモードの場合はretrlines()で。下記サンプルコードではファイル名固定ですが、「あるディレクトリ配下のすべてのファイルをGET」とかする場合は、nlst()が便利だと思う。...NLSTの結果をリストオブジェクトで返してくれるので操作しやすい。epythonからだと意外とFTPは扱いづらいというか、プリミティブな感じがしました。SCPとかSFTPならparamikoやFabric使えば良いっぽいし、ftplibは今後使うことあるのかどうか・・・。Fabricで複数台のNginxのキャッシュクリアをする小ネタ前回にNginxのキャッシュについて書いたので、今回は複数台のNginxキャッシュクリアをするコードスニペット的なのを書いてみます。自動実行でも良いのですが、今回は手動でコマンドを叩いて消します。Fabricを使えば、簡単に複数サーバでキャッシュクリアを実行出来るので本当に便利ですね。./*')そして以下のコマンドで実行します。./*」なのですが、間違うとかなり危険なので一応、一覧参照と確認を入れてます。これだけで複数台のサーバで、横断的にキャッシュクリアできるのは良いですね。メモ最近知ったbotoの小ネタ。boto.ec2.connect_to_region(region)設定ファイルはこんな感じに成ります。aws_access_key_id=シークレットキー2バッチサーバー等で複数のスクリプト実行してる場合便利ですね。Fabricでデプロイしてみた最近デプロイツールを探していたのだけど、やはりPythonで書きたいなと思い、勉強がてらFabricを使ってデプロイスクリプトを書いてみました。設定とコードをなるべく切り分けたかったので、このあいだ知ったConfigParser使って設定を外部化させてみました。Fabricのrolesを使いたかったので、Keyに対して、カンマ区切りで複数のValueを持たせられるようにしてみました。動く程度なのでもう少し綺麗にまとめるかも、っというかもっとスマートな方法があるはず・・・。ConfigParserPythonでコードを書いていると設定する項目が増えてきていろいろと大変・・・。別のファイルにまとめられないかなと思ったら、ConfigParserなる便利なモジュールがあったので使ってみました。テストで使用した設定ファイルの内容は以下のものとなります。huga[example]host=192.168.1.10port=22user=iiwake[]で括られているのが各セクションとなり、それ以下がオプションとなります。オプションは、左がKeyで右がValueとなっており、「:(コロン)」「=(イコール)」が使用出来るようです。実際に読み込んでみます。read()にて、用意した設定ファイルを指定し読み込みます。‘オプション名’)で値を取り出せます。'spam')'egg'sections()で各セクション名が返されます。options(‘セクション名’)でセクション内の各オプションを返します。value)のペアで取り出せます。'iiwake')]has_option()を使えば、オプションの有無がわかります。'spam')...egg意外と簡単に設定の外部化ができました。値を複数持つオプション等が出来ないようなので(そこまで調べてませんが)そう言った事をする場合、自前で解析しなくてはならないかも。dc:run()以上ね、簡単でしょ。かぐや姫の物語」を観てきたんだけど予想以上に原作に忠実だった。広告でやたら見かけるNewRelicのTシャツをゲットしてみた。広告でやたら見かけるNewRelicのTシャツをゲットしてみた。