3 $BASE_LIB=$_SERVER["BASE_LIB"];
4 $BASE_DATA=$_SERVER["BASE_DATA"];
5 $BACULA_USER=$_SERVER["BACULA_USER"];
7 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $argv;
9 require_once "$BASE_LIB/lib.php";
11 if(!isset($argv[5])) {
12 echo "Usage: ".$argv[0]." changer-device command slot archive-device drive-index\n";
16 $changer_dev = $argv[1];
19 $arc_device = $argv[4];
20 $drive_index = $argv[5];
22 $changer = $changer_dev;
49 function unload_tape()
51 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
53 $tapeloc = conf_getVal($changer, "drivelocation");
57 unlink("$tapeloc/$changer-drive$taped");
62 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
67 $db = db_getDB($argv[1]);
69 $res = $db->query("select * from disk_list order by disk_id");
71 $tapeloc = conf_getVal($changer, "drivelocation");
72 $amloc = conf_getVal($changer, "automountdir");
78 foreach($res as $row) {
79 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
80 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
82 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
83 while(($file = readdir($dh)) !== false) {
84 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
86 unlink("$tapeloc/$changer-drive$taped");
87 symlink("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/$file", "$tapeloc/$changer-drive$taped");
92 //echo "didnt match: $file\n";
103 function loaded_tape()
105 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
110 $db = db_getDB($argv[1]);
112 $res = $db->query("select * from disk_list order by disk_id");
114 $tapeloc = conf_getVal($changer, "drivelocation");
115 $amloc = conf_getVal($changer, "automountdir");
118 if(file_exists("$tapeloc/$changer-drive$taped")) {
119 $rl = basename(readlink("$tapeloc/$changer-drive$taped"));
127 foreach($res as $row) {
128 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
129 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
131 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
132 while(($file = readdir($dh)) !== false) {
133 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
140 //echo "didnt match: $file\n";
150 function list_tapes()
152 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
156 $db = db_getDB($argv[1]);
158 $res = $db->query("select * from disk_list order by disk_id");
160 $amloc = conf_getVal($changer, "automountdir");
164 foreach($res as $row) {
165 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
166 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
168 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
169 while(($file = readdir($dh)) !== false) {
170 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
171 echo "slot $i: $file\n";
174 //echo "didnt match: $file\n";
185 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
189 $db = db_getDB($argv[1]);
191 $res = $db->query("select * from disk_list order by disk_id");
193 $amloc = conf_getVal($changer, "automountdir");
197 foreach($res as $row) {
198 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
199 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
201 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
202 while(($file = readdir($dh)) !== false) {
203 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
206 //echo "didnt match: $file\n";
220 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
226 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;