6 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $argv;
8 require_once "$BASE_LIB/lib.php";
10 if(!isset($argv[5])) {
11 echo "Usage: ".$argv[0]." changer-device command slot archive-device drive-index\n";
15 $changer_dev = $argv[1];
18 $arc_device = $argv[4];
19 $drive_index = $argv[5];
21 $changer = $changer_dev;
48 function unload_tape()
50 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
52 $tapeloc = conf_getVal($changer, "drivelocation");
56 unlink("$tapeloc/$changer-drive$taped");
61 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
66 $db = db_getDB($argv[1]);
68 $res = $db->query("select * from disk_list order by disk_id");
70 $tapeloc = conf_getVal($changer, "drivelocation");
71 $amloc = conf_getVal($changer, "automountdir");
77 foreach($res as $row) {
78 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
79 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
81 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
82 while(($file = readdir($dh)) !== false) {
83 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
85 unlink("$tapeloc/$changer-drive$taped");
86 symlink("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/$file", "$tapeloc/$changer-drive$taped");
91 //echo "didnt match: $file\n";
102 function loaded_tape()
104 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
109 $db = db_getDB($argv[1]);
111 $res = $db->query("select * from disk_list order by disk_id");
113 $tapeloc = conf_getVal($changer, "drivelocation");
114 $amloc = conf_getVal($changer, "automountdir");
117 if(file_exists("$tapeloc/$changer-drive$taped")) {
118 $rl = basename(readlink("$tapeloc/$changer-drive$taped"));
126 foreach($res as $row) {
127 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
128 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
130 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
131 while(($file = readdir($dh)) !== false) {
132 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
139 //echo "didnt match: $file\n";
149 function list_tapes()
151 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
155 $db = db_getDB($argv[1]);
157 $res = $db->query("select * from disk_list order by disk_id");
159 $amloc = conf_getVal($changer, "automountdir");
163 foreach($res as $row) {
164 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
165 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
167 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
168 while(($file = readdir($dh)) !== false) {
169 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
170 echo "slot $i: $file\n";
173 //echo "didnt match: $file\n";
184 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
188 $db = db_getDB($argv[1]);
190 $res = $db->query("select * from disk_list order by disk_id");
192 $amloc = conf_getVal($changer, "automountdir");
196 foreach($res as $row) {
197 //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
198 //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
200 $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
201 while(($file = readdir($dh)) !== false) {
202 if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
205 //echo "didnt match: $file\n";
219 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
225 global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;