More from: 自動化

”ftp”が無い・・・

仕事場の古いサーバーの一部が動かなくなり用意されていた新しいサーバーに機能を移したのが先月のこと。
OS(Linux)のディストリビューションが大幅に変更され、それまで使っていたftpコマンドが使えなくなっていた。
当初はそれでも運用していたのだけど、ユーザーから「他所から定期的に受信していたファイルが来なくなった」との連絡を受けた。
そう言えば壊れたサーバーの一つが特定のftpサーバーからcrontabでファイルをgetしていたのだった。
その自動受信用のスクリプトが失われたので一から作り直す必要があった。
そんなに難しいスクリプトでは無いので、ftpサーバーのログイン情報を貰って先ずはftpコマンドでログイン・・・と思ったらftpコマンドが無いorz。
セキュリティの関係でftpクライアントがインストールされておらず、使えるのはsftpのみ(汗)。
これでも自動化は出来るだろうと思っていたが、なかなかうまくいかない。
理由はログインの自動化がどうしても出来なかったため。
sshpass
とかを使ってもうまくログインできずファイルのgetが出来ない。
結局のところsftpでの運用は諦めてlftpをインストールして運用することにした。

#yum install lftp

でインストールし、簡単なスクリプトを書いて試験をしたところ無事に目的の動作をさせることが出来た。
lftpでログインからファイル転送・ログアウトまでを自動で行うには下記のように書けば出来た。

#lftp << EOF >open -u ”ユーザー名”,”パスワード” ftpサーバー名
>”実際に行ないたい動作を示すコマンド”例:cdやget/put等
>bye
>EOF

もしくは上のopen以降byeまでをファイルに書き、
#lftp -f ”ファイル名”
でも可能。

bash下で実行させるには実行スクリプトとして
#!/bin/bash
/usr/bin/lftp << EOF open -u ”ユーザー名”,”パスワード” ftpサーバー名 ”実際に行ないたい動作を示すコマンド”例:cdやget等 bye EOF もしくは #!/bin/bash /usr/bin/lftp -f ”ファイル名” としてcrontabに登録すれば指定した時刻もしくは時間間隔での自動実行が可能となる。 ただし!どちらもサーバーへのログイン情報をプレインテキストで書くので、ファイルのアクセス権をしっかり設定しないとセキュリティ的に問題が出てくるので注意! 出来ればスクリプトの所有者をrootにしてファイルパーミッションを700にしておくのが良いかと。 さらにスクリプト名の先頭を.(ドット)にして隠しファイルにするという手もあるな。

←クリックしてくれると嬉しいです。

ちょっと珍しいレンズのジャンク品

時々ジャンクレンズを漁りに行くハードオフに珍しいレンズがある。
「Canon EF35-80mm F4-5.6 POWER ZOOM」
このレンズ、名前で判るように電動ズーム機能が搭載されている。
というかレンズの胴体にはズームリングどころかフォーカスリングも無く、ズームは電動でしか行えないうえAF専用というある意味割り切った思想で設計されている。
コンデジでは当たり前の電動ズームだけど、一眼レフ用のレンズとしてはあまり見かけない(パナ等のミラーレスではあるみたいだけど)。
しかもAF専用なので暗いところやコントラストの乏しい(要はAFの効き難い)条件では使い難いだろうなぁ。
AF専用のレンズは他にも「EF 35-70mm F3.5-4.5A」や「EF 100-200mm F4.5A」なんかもあるけど、それらと比べても突き抜けた感じのレンズだな。
また、「Canon EF35-80mm F4-5.6 POWER ZOOM」はライブビュー撮影時と動画撮影時にはズームボタンが無効になるということで、動画撮影時には便利な筈の電動ズームが使えないらしい。
まぁレンズ自体は元々フィルム時代のレンズで、開発当時は動画の撮影なんぞ想定していなかっただろうから仕方のない話だが、最近のボディが対応していないと言うのは少々疑問。
もしかするとボディとレンズの接点の仕様上の制限があるのかもしれないが、本当の原因については調べられなかった。

でも動画撮影等を考慮すると今後は電動ズームのレンズが出てきてもおかしくは無いと思うし、実際ビデオカメラのズームは大抵が電動化されている。
電動化しても良いけど、静止画撮影時には使い難いのでマニュアル操作も出来るようにしてくれないと困るな(コンデジで毎日苦労してる)。
露出に関してもだけど、自動化されるのは良いけど場合によっては手動で操作することもあるから、両方で使えるような製品が良いと思う。

←クリックしてくれると嬉しいです。