robocopyでファイルサーバにバックアップ

2010/09/22未分類import
robocopyはWindows Vista以降に標準で含まれているツールで,ファイルのコピーコマンド.
このコマンドを利用して,ワンクリックで指定のフォルダをバックアップすることをやってみよう.
robocopy "C:\Users\Hirayama Hirosugu\Documents\Local-Files" "\\192.168.○.△\share\Members' Files\H2\BackUpFiles" /MIR /LOG:backuplog.txt /TEE /TS /FP /FFT
オプションについて
/MIR:ミラーリング.更新した部位だけ,ファイルをコピー,あるいは削除する.
/LOG:ログをbackuplog.txtとして保存.
/TEE:ログを標準出力にも表示.
/TS:タイムスタンプを出力(効いていないかも)
/FP:フルパス出力
/FFT:FATファイルシステムと見なし,タイムスタンプの精度を2秒にする.
こうしないとNASにコピーする際にスタンプの精度の関係から正常にコピー先を更新できない場合がある.必要に応じて追加すべき.

これをテキストファイルに貼り付け,拡張子をbatにすれば,ワンクリックでバックアップ作業が行える.
さらに,タスクスケジューラ(スタートメニュー→アクセサリ→システムツール以下にあるはず.)を使えば定期実行できるし,
スタートアップに登録すれば,起動時に必ず実行してくれる.

インストールの仕方

XPでは標準で含まれていないが,Windows Server 2003 Resource Kit ToolsからXP対応版を無償でダウンロードできる.
ウィザードでインストールできるので特に難しくない.ただし英語である.

仮想端末を一時的にロックする

2010/08/31未分類import
共用のパソコン,あるいは研究室に置いている自分のノートパソコンから別のパソコン
(というかこのページを運営しているサーバ)にネットワーク経由でログインしているとき,
席を空ける場合がある.その際,操作している仮想端末にロックを掛けてセキュリティーリスクを軽減したいと考えるわけである.

その場合にはvlockというコマンドが使用できるらしい.
Lennyにはデフォルトでは入っていないので探してインストールする.
BigOwl:~# aptitude search vlock
p   vlock                                                         - Virtual Console locking program
BigOwl:~# aptitude install vlock
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タスクの記述を読み込んでいます... 完了
以下の新規パッケージがインストールされます:
  vlock
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
38.1kB のアーカイブを取得する必要があります。展開後に 221kB のディスク領域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
取得:1 http://ftp.jp.debian.org lenny/main vlock 2.2.2-3 [38.1kB]
38.1kB を 1s 秒でダウンロードしました (27.2kB/s)
未選択パッケージ vlock を選択しています。
(データベースを読み込んでいます ... 現在 146879 個のファイルとディレクトリがインストールされています。)
(.../vlock_2.2.2-3_i386.deb から) vlock を展開しています...
man-db のトリガを処理しています ...
vlock (2.2.2-3) を設定しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了

BigOwl:~#
実行すると端末上に以下のような表示が現れる.
BigOwl:~# vlock

This TTY is now locked.

Please press [ENTER] to unlock.
これでちょっと席を外す際にも安心できる.一般ユーザの場合も同様.
  • aオプションをつけると,ロックした端末以外の端末や,別の端末から新規に接続するものもロックできるらしいが,あまり使わなそうである.

FirefoxをLennyにインストールする

2010/08/28未分類import

最新版Firefox(3.6.8)をDebian Lennyにインストール

Firefoxというwebブラウザがありますが,DebianにはIceweaselという名前で古いバージョン(3.0系)がインストールされています*1
とにかく,最新の3.6.8を使いたくなったのでインストールしました.プラグインが動かないものですから…….

インストール手順

同じものをWikiにも載せるはずですが,とりあえずこちらで先に.

まず,Firefox 3.6.8のLinux版を公式ページからダウンロードします*2
そして適当な場所で解凍します.解凍するとfirefoxというディレクトリができているはずです.
ushi@BigOwl:~/Desktop$ tar -jxvf firefox-3.6.8.tar.bz2
ushi@BigOwl:~/Desktop$ ls
・
・
firefox
・
・
ushi@BigOwl:~/Desktop$
するともう実行形式になっているので,それを適切なフォルダ(というかディレクトリか)に移動します.
普通は,自分で追加したアプリケーションソフトは/opt以下に置くらしいので,その流儀に従います.
ushi@BigOwl:~/Desktop$ su
パスワード:
BigOwl:/home/ushi/Desktop# mv firefox /opt/
BigOwl:/home/ushi/Desktop# cd /opt
BigOwl:/opt# ls
atokx3 firefox
BigOwl:/opt# mv firefox firefox-3.6.8
これでこのフォルダの中のfirefoxというファイルを実行すれば,このバージョンのFirefoxが起動します.
適当にランチャ(Windowsにおけるショートカットアイコン)を作ってやれば楽に使えます.

↓私はパネルにFirefoxのランチャを置いてます.
text3166.png


作り方はパネル上で右クリック→パネルへ追加→カスタム・アプリケーションのランチャの順に進んでいきます.
すると下のようなウィンドウが出るので,下のような内容を記述してやります.
Screenshot-ランチャのプロパティ-firefox-3.6.8.png


ただし,このままでは,フラッシュプレイヤーが入っていないので,
アドビのサイトからLinux版の最新のもののtar.gz版をダウンロードしてきます.
これを解凍すると,libflashplayer.soというファイルが出てきますので,これを上記の/opt/firefox-3.6.8/内のpluginsの中へ放り込みます.すると,フラッシュも使用できるようになります.

It's All Text!をインストール.

目的はこのプラグイン.前にも日記で紹介しましたが,
ブラウザの編集フォームを使い慣れたエディタで編集できるというものです.
例えばこのWikiを編集する際の強い味方になってくれる訳なのです.
Windows版のFirefoxでは入れていたんですけど,Debianは面倒だったのでやっていなかったのです.
もっと早くすれば良かったですかねぇ.

Firefoxのプラグインに関するサイトから,ダウンロードしFirefox上でインストールします.
これだけで使えます.

*1 : 名前が違うというのは,Debianを開発している側が,Firefoxの側にフリーソフトとして何らかの問題があると判断したからだと思いました.Debianは厳密なのですね

*2 : どうやら,閲覧しているブラウザか何かでダウンロードするバージョンを判定しているよう.「Linux版をダウンロード」っていうようになっていると思うのですが,なっていなければ各OS対応版を探してください.

一括処理の方法

2010/08/15未分類import

Avidemuxを利用した動画ファイルの一括処理

コマンドラインから動画ファイルを一括処理する例.
骨子ですが,先ほど用意したスクリプトファイルに手を加えて,
実行したコマンドをシェルスクリプトに組み込んで,
フォルダ内にあるmpegファイルを一括変換してくれるプログラムを書きます.

シェルスクリプト初心者なので,とりあえず動けばいい,ということにします.

スクリプトの編集

例えば,以下のように編集してやります.
この例ではファイルをロードする行とカット編集の部分を消しています.
CMカットはできないですが,ファイルのロードがない分,汎用性が向上します.
//AD  <- Needed to identify//
//--automatically built--
//--Project: /途中省略/tera-hdd/mi-encode/SW-1.js

var app = new Avidemux();

//** Video **
// 01 videos source 
//03 segments

//** Postproc **

//** Filters **
app.video.addFilter("deinterlace","motion_trigger=15","blend_trigger=9");
app.video.addFilter("mpresize","w=1280","h=720","algo=0");

//** Video Codec conf **
app.video.codec("X264","AQ=24","188 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 1e 00 00 00 3c 00 00 00 0a 00 00 00 27 00 00 00 05 00 00 00 01 00 00 00 28 00 00 00 19 00 00 00 fa 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 05 00 00 00 10 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5a 00 00 00 ");

//** Audio **
app.audio.reset();
app.audio.codec("aac",192,4,"80 00 00 00 ");
app.audio.normalizeMode=0;
app.audio.normalizeValue=0;
app.audio.delay=0;
app.audio.mixer("NONE");
app.setContainer("MP4");
setSuccess(1);
//app.Exit();

//End of script

シェルスクリプトの作成

フォルダ内のすべてのmpegファイルを同一設定でmp4へ変換,
その後mpegファイルを別のディレクトリへ移動して,インデックスファイルを削除して,操作完了としましょう.
#/bin/bash

for mpeg in *.mpg
do
avidemux2_cli --autoindex --load "$mpeg" --run /途中省略/tera-hdd/mi-encode/Job-Avidemux/HD-16-9-1280.js --save "$mpeg-1280.mp4"
done

for mp4before in *.mpg-1280.mp4
do
mp4after=`echo "$mp4before" | sed -e "s/\.mpg-1280//g"`
mv "$mp4before" "$mp4after"
done

for mpeg in *.mpg
do
mv "$mpeg" "/途中省略/tera-hdd/mi-encode/tekito/kanryo/$mpeg"
done


for idx in *.mpg.idx
do
rm "$idx"
done
これで,一応の処理ができるはず.私の環境では実行できました.