CSSでのテーブル cellspacing指定はborder-spacing

Movable typeではcellspacingが効かないので、CSSでborder-spacing指定します。

HTML
<div ID="content-flower>
 <table>
 </table>
</div> 

CSS
#content-flower table{
  border-spacing:5px;
 }

CSSの要素命セレクタの形式

セレクタはHTMLのどの要素に対応するかを定義する。セレクタの形式付いて纏めた。

1.基本

(1)要素名だけ
h1 {       }

(2)ID名付き
h1#NEW {       }

(3)クラス名付き
h1.BLOCK {       }

2.優先順位

 IDセレクタ(重み100)、クラスセレクタ(重み10)、要素名(重み1)
 プロパティに!important ; を付けると強制的に優先順位が上がる。

2.一般の形式

(1)複数セレクタの指定(セレクタのグループ化)
セレクタ,セレクタ {   }
h1,h2 {  }

(2)クラスセレクタ
[ 要素名].クラス名    要素名省略できる
.sunday {    }
h2.museum {    }

 (注)HTML要素に複数のクラス名を指定できる(クラス名を空白で区切る)
<h1 class="sunday museum">旅</h1>

(3)IDクラスセレクタ
[ 要素名]#ID名    要素名省略できる
#sunday {    }
h2#museum {    }

 (注)HTML要素にクラス名とID命を指定できる(クラス名を空白で区切る)
<h1 class="sunday"  ID="oosaka">旅</h1>

(4)子孫セレクタ
ある要素の内容に含まれている要素を指定する
p.menu a {   }

(5)子供セレクタ
ある要素の内容に直接含まれている要素を指定する
body > p {         }

(6)隣接セレクタ
2つの並んでいる要素の2つ目の要素を指定する。HTML要素の並びでデザインを変えたい場合に使用する。例えば、<h1>と連続した時の<h2>は間隔を狭くするとか。
h1 + h2 { margin-top:-0.5em;}

(7)属性セレクタ
HTML要素に付く属性を指定する。例えば<input>のtype属性の時に、デザインをてきようするとか
input[type="submit"] {          }
他に以下がある
要素名[属性名]{       }
要素名[属性名~="値"]{       }  空白に区切られた複数個ある属性値のどれかと一致した時
要素名[属性名|="値"]{       }  -(ハイホン)dで区切られた複数個ある属性値のどれかと一致した時
要素名[属性名^="値"]{       }  開始部分が一致した時

(8)全称セレクタ
全ての要素
body * a {      }  


 

MTタグの形式(書式)

1.基本
<$mt:MnWebpageTemplate$>
2.大文字小文字の区別無し
<$mt:mnwebpagetemplate$>
4.$は無くとも良い、最後に/有っても良い。
<mt:mnwebpagetemplate>
<mt:mnwebpagetemplate />
5.ブロックタグは$無し
<mt:Entry>  </mt:Entry>
6.mt:をMT(又はmt)としても良い。
<MTmnwebpagetemplate>

バッファローNASにタイマーの設定

バッファローNASにタイマーを設定しました。
システム=>電源管理=>タイマー設定画面で設定する。
下記は、10:30から16:30と20:30から24:30だけNASが稼動する。
nastimeset.png

FTPクライアントを作る(JDK)

http://www.programmers-corner.com/sourcecode/142
を参照下さい。
コードは
// FTPupload.java by Rowlandhttp://www.home.comcast.net/~rowland3/
// Upload a file via FTP, using the JDK.

import java.io.*;
import java.net.*;


class FTPclientConn {
    public final String host;
    public final String user;
    protected final String password;
    protected URLConnection urlc;

    public FTPclientConn(String _host, String _user, String _password) {
  host= _host;  user= _user;  password= _password;
  urlc = null;
    }
    protected URL makeURL(String targetfile) throws MalformedURLException  {
  if (user== null)
      return new URL("ftp://"+ host+ "/"+ targetfile+ ";type=i");
  else
      return new URL("ftp://"+ user+ ":"+ password+ "@"+ host+ "/"+ targetfile+ ";type=i");
    }

    protected InputStream openDownloadStream(String targetfile) throws Exception {
  URL url= makeURL(targetfile);
  urlc = url.openConnection();
  InputStream is = urlc.getInputStream();
  return is;
    }

    protected OutputStream openUploadStream(String targetfile) throws Exception {
  URL url= makeURL(targetfile);
  urlc = url.openConnection();
  OutputStream os = urlc.getOutputStream();
  return os;
    }

    protected void close() {
  urlc= null;
    }
}


public class FTPupload {
    protected FTPclientConn cconn;
    public final String localfile;
    public final String targetfile;

    public FTPupload(String _host, String _user, String _password,
         String _localfile, String _targetfile) {
  cconn= new FTPclientConn(_host, _user, _password);
  localfile= _localfile;
  targetfile= _targetfile;
  doit();
    }
    public FTPupload(String _host, String _user, String _password, String _file) {
  cconn= new FTPclientConn(_host, _user, _password);
  localfile= _file;
  targetfile= _file;
  doit();
    }

    protected void doit() {
  try {
      OutputStream os= cconn.openUploadStream(targetfile);
      FileInputStream is=  new FileInputStream(localfile);
      byte[] buf= new byte[16384];
      int c;
      while (true) {
    //System.out.print(".");
    c= is.read(buf);
    if (c<= 0)  break;
    //System.out.print("[");
    os.write(buf, 0, c);
    //System.out.print("]");
      }
      os.close();
      is.close();
      cconn.close(); // section 3.2.5 of RFC1738
  } catch (Exception E) {
      System.err.println(E.getMessage());
      E.printStackTrace();
  }
    }

    public static void main(String args[]) {
  // Usage: FTPupload host, user, password, file
  new FTPupload(args[0], args[1], args[2], args[3]);
    }

}

 

パーマリンクの形式

パーマリンクは2つの形式展開されます。
(1)/cat/cat2/entryname.html
(2) /cat/cat2/#100002
です。
設定=>公開 で 設定します。
パーマリンクの設定: エントリー| カテゴリー
  エントリ=> (1)
  カテゴリ=>(2)
となります。

CSSで中央表示するには(テーブル他)

Centerは消えていく仕様なので、CSSで中央表示は
下記で行います

HTML
  <div class="page-center"> 
   <a>       </a>
   <p>       </p>
   <img  />  
   <table class="page-center")
   </table>
  </div>

CSS
.page-center{
 text-align:center ;
 vertical-align:middle;
/* a,p,imgに有効です*/
 margin-left : auto ;
 margin-right : auto ;
/* テーブルに有効です*/
}
.page-center table{
 text-align:center ;
 vertical-align:middle;
}
/* テーブルセルに有効です*/

37インチの東芝液晶テレビREGZA 37Z2000を購入しました。
この機種は、LAN上のHDに、録音できます。LAN HDDです。
東芝からは、確認された、LAN HDDの一覧が紹介されています。
しかし、お値段もお高いので、既に自宅にある、WindowsかLinux(fedora 5)で ネットワーク共用ファイルを利用して、少し安価にLAN HDDを構築することにしました。
電気代も気になりますので、省電力でHDを利用する必要があります。
いかが、いろいろ試みた、経過です。

(1)既存のWindows上のファイルサーバでの確認
 200G程度のWindowsXP上のファイルサーバがありましたので、これを使用しました。
 ネットワーク共用、ファイルアクセスとのEveryone,Guestに書き込み権限を与えました。
 Regzaで自動認識します。赤ボタンで再認識を実行すれば、問題なく認識します。
(2)200Gでは少ないので、大きなHD(500Gか700G)を新設することにしました。
 700Gは高いので、500Gとしました。IDEかSーATAかで悩みましたが
 ・今後の利用
 ・値段 (S-ATAが安い)
 ・キャッシュの容量(S-ATAは16M)
で選択しました。そして、購入のときに在庫状況から Hitachi  HDT725050VLA360 に決めました。

今のマザーボードはS-ATAはpromiseのraidとしてしか認識しないのが気になったのですが。
(3)WindowsのマザーボードはAopenのi855GMEm-LFS(533)です。省電力の用でPentium Mで動かしています。raid0でHDT725050VLA360を構築しました。問題なく、LAN HDDとして認識しました。
しかし、省電力のため、10分間アクセスが無ければHDの電電を切る設定としています。この設定だと、ある間隔で デスクエラーが発生します。どうもpromiseのRaidでは、アクセスするときのHDの電源がきれいいるなどの省電力モードでは、入力エラーとなるようです。実害は無いようですが、システムイベントログに多量に書き込まれるので、改善することを考えました。
(4)S-ATAのカードを購入して LinuxでSambaかWindowsで共用ファイル(Raidでは無い)を検討しました。カードは3480円でRATOC REX-PCI15S (SATA)です。

Linuxは常に起動しているので、まづはLinuxで。
(5)Fedora5ではREX-PCI15S 標準で認識します(確認して購入したので)
HDの設定はWebminで行いました。
sambaの設定も
全体
 security = USER
共用ファイル
 read only = No
 guest ok = yes
の設定で、REGZAで自動認識しました。
 ここまでは良かったのですが、
 (a)設定が不安定
 (b)あるパソコンでアクセスするとパソコンがブルー画面となる
ことから、採用にいたりませんでした。
(6)WindowsPCにREX-PCI15S を差し込んで、通常のS-ATAでHDを使用することにしました。
 当初はSymantecの関連でトラブルがありましたが、今は順調に稼動しているようです。
 デスクエラーも発生していません。

IBM Netvist 6842 CDからの起動

オークションで小さな、省電力のPCを探していました。
IBMのNetvista 6842 シリーズが マッチしており 2台ほど落札しました。
当初はCDからブートでき、2,3かいFedoraをインストールできました。
しかし、ある日突然、CDからブートできなくなったのです。
BIOSの設定画面からブート順を設定できる画面が見つからなかったのです。
今まではCDの不具合かなと思っていましたが、IBMのサイトから
http://www-06.ibm.com/jp/domino04/pc/support/Sylphd06.nsf/jtechinfo/SYJ0-0085AFD
下記の情報を入手しました。
対象機種]

NetVista A40 6842-52J/62J


[回答内容]

まず、以下の手順でCD-ROMの始動順序を変更し、リカバリーCDから起動します。

<CD-ROMドライブの始動順序の変更>

1: Netvistaの電源を入れます。 

2: IBMのロゴ画面で[F1]キーを押します。装置構成ユーティリティーが表示されます。ここでリカバリーCD1を挿入してください。

3: カーソル移動キーで [始動オプション] を選択し [Enter] キーを押します。 [始動順序] を選択し [Enter] キーを押します。

4:[第二始動デバイス] を [ハードディスク0] から右向き矢印キーを押して [CD-ROM] に変更します。変更後、 [第三始動デバイス] が [ハードディスク0] になるよう変更します。

5: [Esc] キーを2回押します。 [設定を保存する] を選択し [Enter] キーを押します。

6: [設定を保存する] と表示されるので、再度 [Enter] キーを押します。

7: [装置構成ユーティリティーの終了] を選択し [Enter] キーを押します。 「はい、終了します」 を選択し [Enter] キーを押すとリカバリーCDより起動します。

===> この[始動順序] がクリックできると思わなかったのです。
[始動順序]クリックで、無事に Boot 順を変更でき 、 CDからのブートが可能になりました。

日本語Biosも困ったものです。

Flash拡張機能のインストール

「.mxp 」という拡張子の付いた拡張機能パッケージはMacromedia(Flash等)拡張機能の内容をMacromedia Extension Manager でパッケージ化したものです。
インストールするには、Macromedia Extension Managerが必要です。
http://www.macromedia.com/jp/exchange/em_download/
からdownloadします。

年賀状の裏面作成

昨年までは、年賀状ソフトや雑誌を買って、裏面用のコンテンツを作成していました。
プリンタメーカにサイトには、無償のコンテンツもありましたが、満足できませんでした。
ふと、インターネットを検索していました。
有りました、無償で年賀状のテンプレートや部品を提供しているさいとが。。。。
来年は、、、、、このサイトに注文してみようと思いました。
サイトは
 http://nengajou-sozai.com/
 http://www.asahi-net.or.jp/%7ere5n-isi/dog/index.html
などなどです。
 沢山有るんですね!
 ITもここまで来ているのですよね!

Movable Type 記事の移行

記事(Entry)を他のブログに移行するには設定で(1)読み込み/書き出し=>エントリーの書き出しで  ファイルに書き出します。(2)上記のファイルを ./import にアップします。 (cgi-bin/mt の直下にimportフォルダを作ります)(3)読み込み/書き出しで エントリーの投稿者を自分にして 読み出し/書き出し ボタンを押します。

Movavle Type カテゴリ削除

設定で「カテゴー」を選択し、その画面で削除できます。

Redhat ES3(Redhat Enterprise Linux ES3)では、MySQLサーバは提供されていません。
Movable Typeをインストールするとき困りました。Postgress等を使用する案もありますが、Redahat ES4 やFedora系では、MySQLサーバが提供されていますので、MySQLサーバに統一したかったです。
(1)MysQL を SQLのサイトから V4、V5を
http://download.softagency.net/MySQL/downloads/index.html
からDownloadしました。Rpmでインストールすると、MySqlサービスが無事起動していました。
(2)しかし、Perl用のMysqlインタフェース(DBI::mysql)がないので、Movable Typeをインストールできません。
(3)Redhat ES3のPerl用のMysqlインタフェースパッケージ(perl-DBD-MySQL Rpm)をインストールすれば良いのですが、
  libmysqlclient.so.10
が無いためインストールできません。
  Redhat ES4lのPer用のMysqlインタフェースパッケージ(Rpm)はインストールできるのですが、perlのバージョンが違うので、Movable TypeをインストールでMySQLのエラーとなります。
(4)検索で、MySQL-shared-compat のRpmに libmysqlclient.so.10 が含まれていると判明したのですが、このRpmを見つけることができませんでした・
(5)いろいろ検索しまして
 MySQLのインストール概要http://www.rfs.jp/server/mysql/01/02.htmlから
 SoftAgency MySQL Download ページから
MySQLのダウンロードはこちらから得ることがきました。
このRpmをインストール後に、無事にperl-DBD-MySQL Rpmをインストールできました。
(6)しかし、Movable Typeのインストールで、
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
のとなります。原因はMySQLV4ではパスワードのハッシュが、セキュリティを高めるために16バイト長から41バイト長に変更となり、V3(ES3はV3です)のクライアントからV4のサーバにはアクセスでき無いのです。
(7)解決方法は、Movable type で使用するユーザ を古い方式で認証することです。下記に記載があります。
http://dev.mysql.com/doc/refman/4.1/ja/old-client.html
ここの
========
4.1 より前のクライアントを必要とするユーザをリセットし、旧パスワードを使用するようにする。

mysql> UPDATE user SET Password = OLD_PASSWORD('mypass')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
========
を設定しました。

以上で、無事にMovable Typeをインストールできました。

WIndows2003 ASRバックアップ リストア

高価なバックアップソフトを購入しなくても、Windows2003ではNTバックアップで、DRバックアップが可能となりました。
VSS機能で、稼動時にバックアップが可能となります(データベースなどは別途バックアップする必要が有りますが)
しかし、FDにシステムの情報を書き込むので、手動でバックアップしなくてはいけません。
(1) ディスクが破壊して、初期化された状態なら、ASRはパーティション構成などを復元してくれます。
システム・パーティションを仮のWindows OSシステムの内容を復旧させた後に、その上で動作するリストア・プログラムを使って、元の全ファイルを復旧させてくれます。
(2)バックアップメディアとして
    USB接続のディスク
    SCSI接続のアレイディスク
(3)ディスクが破壊していないと、同じボリュームも違うドライブからの可能です。
  このとき、D,Eドライブなどの情報はそのまま残るようです。
  しかし、SCSI接続したアレイディクス等は、切断してリストアしたほうが無難ですよ!
(4)当然、テープ装置にもバックアップできますが、リストア時に、テープ装置のドライバが必要です。
  HPのDAT72では 標準でtxtsetup.oemファイルが提供されており回復できましたが、DLT系は提供されていないので、困りました。
==>quntumのDLT VS 160 が認識されないので困りました。
     txtsetuo.oemを作成して見ましたが、ドライバFDのマウント要求もきませんでした。
     NtBackup のリカバリ画面で Shift F10を押下することで
     コマンドプロンプト画面が出ますので、C:\windows\infにqsdlt32.inf等のInfファイル
     をコピーしてNtBackupを終了させると、再度セットアップが開始され
     ドライバのセットアップ中に、ドライバファイルの要求がきます。
     これに応答すれば、DLT装置などが認識されるようになります。
(5)回復後、FWの設定が、有効になっていた以外は、問題ないようです。

Outlookの開封済みメッセージ抑止

NortonのSPAMメールチェックで検出されなかったメールを、メニューで手動でSPAMメール
に指定すると!
 開封済みメッセージをメールしますか
と聞かれて、ビックリ! 当然 Cancelしましたが!
 そこで、Outlookの
  オプション=>メールオプション=>確認オプション(探すのに苦労しました)
で「開封済みメッセージの要求に対する処理」が、送信前に確認とありました
==>開封済みメッセージを送信しないに変更しました。
OutLookのデフォルトを変更して欲しいですね!

Movable Type 3.2ベータから3.2へ

Movable Type 3.2ベータから3.2へ移行しました。
(1)cfgファイル以外を、3.2へ変更
(2)mt.cgiを実行
これで完了です。
mt.cgiを二回実行すると、3.2の表示となりました。

Windowsでバックアップ

Windows2003サーバで特定のディレクトリを他のファイルにバックアップする方法です。
このファイルを、ネットワーク対応のバックアップソフト(例えばNetVault)で、管理サーバにバックアップします。
使用するソフトは、標準のNTBackupです。
下記内容のバックアップ用のコマンドファイルに作成します。
「fcsbackup.cmd」
ntbackup.exe backup "@C:\backup-jobs\fcs.bks" /j "fcs-backup" /f "D:\backup\fcs.bkf" /snap:on

 @C:\backup-jobs\fcs.bks:アックアップファイルを定義するバックアップ定義ファイルです。
 /snap:on:書き込み中のファイルでもWindowsがバックアップしてくれます。 シャドーコピーです。
/j "fcs-backup":ジョブの名前です
 /f "D:\backup\fcs.bkf" :バックアップ先です
 このバックアップコマンドを実行します(タスクでスケジュールします)

下記内容のバックアップ定義ファイルを作成します。
重要なのは、「backup operator」からのアクセス権限を与える、必要があります。
「fcs.bks」
C:\Program Files\Macromedia\Flash Communication Server MX\conf\
C:\Program Files\Macromedia\Flash Communication Server MX\applications\
バックアップしたいファイルディレクトリを列記します。

Movable Type 3.2日本語 ベータの試用

Movable Type 3.2 日本語ベータを早速インストールしました。
マニュアルが提供されていないのが残念です。
0からインストールしました。
(1)インストールは、3.15より安全性を考慮されています。
 ・cfgファイルがcgiの識別子になった
 ・DBのパスワードファイルが上記のcfgファイルに統合されて
 ・Mt-Load.cgiが無くなった。Mt.cgiを実行すれば、その延長で動作するようです。
(2)ベータ版の手順書に従えば、ほぼインストールできます。
(3)データの移行は、3.15で「書き出し」、秀丸エディタでUTF8に変更、FTPでimportファイルに
アップロード、3.2で「読み込め」ばOKです。

Netvaultでのバックアップ #2

 3月11日の日記で、曜日とか何週目とかでメディアグループを作ると記載しました。
しかしその後、この方式だとバックアップするサーバが増えると、メディアグループ×サーバ数のジョブを作成することになります。30サーバだと 30×10 = 300個です。
大変なので考え直すことにしました。
NetVaultには世代管理機能があります。日数でも世代数でも可能です。
そこで、日次は7日間(1週間)、週次は10世代としました。月次は止めて週次に含めました。
メディアグループはday_mediagroupとweelk_mediagroupの2つとしました。
これだと、ジョブセットは2個となります。
現在、日次のローテーションは問題ありません。週次はまだ10週間たっていないので。。。。
この方式だと、メディアを有効利用できます。
欠陥は、リカバリ画面からでしか、どのメディアにバックアップされたかを確認できないことです。

でも、NetVaultは良いツールだと思います。
次回は、バックアップツールの要件を纏めたいと思います。

Movable Typeの導入

ブログツールMovable Typeを導入しました。
(1)Movable TypeはCGIプログラムですので、何処にインストールするかを決める必要があります。
ドキュメントやイメージやスタイルシートも必要ですので、Cgiと共存できないときは(Fedoraなどでは通常は共存できません。 セキュリティ面でも別の方が良いと思います)、別々のフォルダにする必要があります。
(2)Fedoraは日本語がUT8なので、Movale Type と相性が良いです。
Movable Type もUT8ですので、加えてUT8(unicode)はWindows標準なので、 Windowsでの操作も相性が良いです。
 素直に
  /cgi-bin/
  /mt-static/
にインストールすることにしました。
(3)インストールは
 提供物の\docs\mtinstall.htmlに従いました。
(3-1)Upload ほとんどはASCIIモードでアップロードします。
ASCIIモードでアップロードする必要があるファイルとフォルダ:
 docs、lib、extlib、mt.cfg、styles.css、tmpl、schemas、search_templates、 plugins、およびすべてのCGIスクリプト(mt.cgiなど)
バイナリ・モードでアップロードする必要があるファイルとフォルダ:
 images
images、docs、index.html、styles.css、およびmt.jsはmt-staticにアップロードします。
(3-2)mt.cfgの編集
 CGIPath http://www.your-site.com/cgi-bin/
 ObjectDriver DBI::mysql
 Database xx_xx
 DBUser xxxxxxxxx_xxxxxx
 DBHost localhost
 StaticWebPath /mt-static/
 SendMailPath /xxxx/yyyy/sendmail
 DBUmask 0022
 HTMLUmask 0022
 UploadUmask 0022
 DirUmask 0022
 PublishCharset utf-8
です。
(3-2-1)DBのパスワード設定
 パスワードファイルに設定します
(3-3)CGIスクリプトの権限を755に設定
 chmod 755 mt*.cgi
(3-4)インストール前のチェック
 http://www.your-site.com/cgi-bin/mt-check.cgi
 fedora 2ではperl用のImageMagicが無いようです。
(3-5)インストール
 http://www.your-site.com/cgi-bin/mt-load.cgi
(3-6)成功したらmt-load.cgiを削除 (安全面で必須です)

(4)Movable Type の起動
 http://www.your-site.com/mt/mt.cgiのURLにアクセスします。
 ユーザ Melody、パスワードNelsonでログインします。

ログインできたら、ユーザとパスワードを変更しましょう。

xoopsの導入

インターネットのコミュニケーションツールで著名なXOOPS(ズープス)をコンテンツ管理システムとして使用できるかを試すことにしました。
Movable Type 、 GsBlogも試す予定です。

1.インストール
(1) xoops-2.0.9.2-ja-eucjp.zipをdownloadし解凍ソフト「Lhasa」で解凍します。
 
(2)FFFTPで docs、,extras、 htmlディレクトリをサーバにUploadします。

(3)upload、cache、templates_cディレクトリ及びmainfile.php」ファイルのパーミッションをPHP(その他)から書き込み可能に変更します。

(4)MySqlデータベースを作成します。
 rootにパスワードを設定します。
 # mysql -u root mysql
 mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');

 mysqlにユーザuser1@localhostを追加します。
 # mysql -u root -p
 Enter password: 設定したパスワード
 mysql> grant ALL on *.* to user1@localhost identified by 'password01';
 mysql>l exit

 user1でデータベースuser_xoopsを作成します。
 #mysql -u user1 -p
 Enter password: 設定したパスワード
 mysql>create database user_xoops
 mysql>l exit

(5)解説書にしたがって、 http://URL + Uploadディレクト/にアクセします。
 あとはj順次指示に従うとインストールは完了します。

(6)インストール後に管理画面を開いたら、installディレクトリの削除、 及びmainfile.phpのパーミッションをその他から書込み禁止にします。

Netvaultでのバックアップ

データバックアップのプログラムを探していたのですが、ディスク装置に仮想テープブラリとして使用できる「NetVault」を使う機会がありましたので、その結果を、纏めてみました。
 オブジェクト指向を応用した割と使いこなせるツールの様です。

バックアップの仕様ですが、
 複数のサーバ上に有るデータを、一本のテープ(仮想テープライブの1スロット、メディア)に、
日次、週次、月次のバックアップを取ることです。
 今までのバックアップだと、サーバ毎にテープが必要でしたが、NetVaultだと1本で済みます。
 加えて、容量が不足したとき容易にスロット(メディア)を追加できます。

方式
1. メディア管理
グループ概念が有ります。スロット(メディア)にラベルを付けて、複数のスロット(メディア)からなるメディアグループを作成できます。例えば、下記です。
   日次 :mon-g,tue-g,wed-g,thurs-g,fri-g
週次 :1w-g, 2w-g, 3w-g, 4w-ga,
   月次 :1m-g  
当初は、1グループに1スロット(メディア)を割り当てます。
2.バックアップジョブ
(1)出力メディアは上記のメディアグループ名を指定します。物理的なスロット(メディア)を意識する必要は有りません。書き込みは追加です。
(2)ジョブの終了後に(ユニークな)イベントを発生させます
(3)このイベントは、グローバルノティフケーションで参照できます。
グローバルノティフケーションで次に実行するジョブ番号を指定できます。
(4)(2)(3)を繰り返して、連続ジョブを作成します。
(5)先頭のジョブは、物理的なスロット(メディア)を初期化します。この場合は
再利用となります。これは最初のジョブの事前スクリプトからの起動でバッチモードで実行します。
(6)最後にはレポートを出力するジョブを実行します。

3.ジョブの作成
レポートを出力するジョブは、コンポーネントを別名でカスタマイズして、このカスタマイズしたコンポーネントを利用したジョブとします。(オブジェクト指向か?)
4.スケジューリング
先頭のジョブ(メディアを再利用するジョブ)だけをスケジューリングします。
5.スロット(メディア)の追加
 仮想テープライブラを新たに作成します。
 新規のスロット(メディア)を、メディアグループに追加します。
 最初のジョブでの再利用の対照に、この新規のスロット(メディア)を追加します。
 移行のバックアップジョブは、変更必要ありません。