Memo bconsole Page 1 / 24 Version du 10 Avril 2015
Page 2 / 24 Version du 10 Avril 2015
Sommaire 1 Voir les différentes travaux effectués par bacula3 11 Commande list jobs 3 12 Commande sqlquery 3 2 Afficher les message de bacula (stocker aussi dans les log)3 3 Restauration 4 4 Voir les types de sauvegardes 5 5 Voir le nombre de volumes utilisé par un type de sauvegarde :5 6 Voir la configuration d'un type de sauvegarde :5 7 La commande «query» 6 8 Lister les volumes utilisés par un job6 9 Lister les jobs utilisant un volume7 10 Trouver les jobs ayant sauvegardés un fichier7 11 Écriture de requêtes : 7 111 Rechercher 7 112 Préparation de requêtes pour exécuter en ligne de commande8 1121 prune (bconsole) 8 1122 delete (bconsole) 10 1123 rm (batch) 10 113 Exécuter les commandes précédentes11 1131 Dans bconsole 11 1132 Dans un terminal batch11 12 Modifier le temps de rétention des volumes12 1211 Avant 12 1212 modification 12 Page 3 / 24 Version du 10 Avril 2015
1213 après 12 122 Lister les tables disponible dans sqlite de bconsole13 123 Liste des champs disponibles dans la table 'Media'13 13 Estimer la taille de la prochaine sauvegardes15 14 Lancer une commande bconsole depuis un terminal15 15 Annuler une commande 15 Page 4 / 24 Version du 10 Avril 2015
1 Voir les différentes travaux effectués par bacula 11 Commande list jobs *list jobs Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" JobId Name StartTime Type Level JobFiles JobBytes JobStatus 2 JobSauvegarde 2015-04-07 19:45:31 B F 40612 3452565385 T 5 JobSauvegarde 2015-04-07 20:26:10 B I 38 95126219 T 8 JobSauvegarde 2015-04-07 20:30:34 B F 40624 3545524418 T 11 JobSauvegarde 2015-04-07 21:17:48 B F 40624 3545525227 T 14 JobSauvegarde 2015-04-08 01:00:34 B D 604 2177332 T 18 JobSauvegarde 2015-04-08 13:02:19 B F 40627 3545526527 T 21 JobSauvegarde 2015-04-09 01:00:39 B D 604 2177323 T 22 BackupCatalog 2015-04-09 02:17:10 B F 6 24972071 T 23 JobSchedulePost 2015-04-09 02:17:19 B F 0 0 T *sqlquery 12 Commande sqlquery Enter SQL query: select JobId,Name,StartTime,Type,JobBytes/(1024*1024) as JobMega from job; +-------+-----------------+---------------------+------+---------+ JobId Name StartTime Type JobMega +-------+-----------------+---------------------+------+---------+ 2 JobSauvegarde 2015-04-07 19:45:31 B 3292 5 JobSauvegarde 2015-04-07 20:26:10 B 90 8 JobSauvegarde 2015-04-07 20:30:34 B 3381 11 JobSauvegarde 2015-04-07 21:17:48 B 3381 Page 5 / 24 Version du 10 Avril 2015
14 JobSauvegarde 2015-04-08 01:00:34 B 2 18 JobSauvegarde 2015-04-08 13:02:19 B 3381 21 JobSauvegarde 2015-04-09 01:00:39 B 2 25 JobSauvegarde 2015-04-10 01:00:37 B 3428 29 JobSauvegarde 2015-04-11 01:00:35 B 2 33 JobSauvegarde 2015-04-12 01:00:31 B 3428 37 JobSauvegarde 2015-04-13 01:00:33 B 2 41 JobSauvegarde 2015-04-14 01:00:47 B 55 42 BackupCatalog 2015-04-14 02:17:19 B 35 43 JobSchedulePost 2015-04-14 02:17:30 B 0 +-------+-----------------+---------------------+------+---------+ 2 Afficher les message de bacula (stocker aussi dans les log) *messages 08-Apr 13:33 127001-fd JobId 18: file or directory Could not stat "/etc/cups/ppdsdat": ERR=No such 08-Apr 13:35 127001-fd JobId 18: shell command: run ClientAfterJob "sudo /usr/share/eole/bacula/baculaconfigpy --unlock --backup_ok --jobtype=sauvegarde --jobid=18" 08-Apr 13:35 127001-sd JobId 18: Job write elapsed time = 00:33:31, Transfer rate = 1766 M Bytes/second 08-Apr 13:36 127001-dir JobId 18: Bacula 127001-dir 501 (24Feb10): 08-Apr-2015 13:36:32 Build OS: i486-pc-linux-gnu ubuntu 1004 JobId: 18 Job: Backup Level: Client: JobSauvegarde2015-04-08_130143_48 Full "127001-fd" 501 (24Feb10) i486-pc-linux-gnu,ubuntu,1004 09-Apr 02:17 127001-dir JobId 23: Bacula 127001-dir 501 (24Feb10): 09-Apr-2015 02:17:19 Build OS: i486-pc-linux-gnu ubuntu 1004 Page 6 / 24 Version du 10 Avril 2015
JobId: 23 Job: Backup Level: Client: JobSchedulePost2015-04-09_021700_49 Full "127001-fd" 501 (24Feb10) i486-pc-linux-gnu,ubuntu,1004 FileSet: "FileSetDefault" 2013-11-14 11:18:41 Pool: Catalog: Storage: "PoolDefault" (From Job resource) "MyCatalog" (From Client resource) "StorageDefault" (From Job resource) Scheduled time: 09-Apr-2015 02:17:00 Start time: 09-Apr-2015 02:17:19 End time: 09-Apr-2015 02:17:19 Elapsed time: 0 secs Priority: 99 FD Files Written: 0 SD Files Written: 0 FD Bytes Written: 0 (0 B) SD Bytes Written: 0 (0 B) Rate: Software Compression: VSS: Encryption: Accurate: Volume name(s): 00 KB/s None no no no 127001-dir-volume-0001 Volume Session Id: 14 Volume Session Time: 1428433891 Last Volume Bytes: 639 (639 B) Non-fatal FD errors: 0 SD Errors: 0 FD termination status: OK SD termination status: OK Page 7 / 24 Version du 10 Avril 2015
Termination: Backup OK 09-Apr 02:17 127001-dir JobId 23: Begin pruning Jobs older than 6 months 09-Apr 02:17 127001-dir JobId 23: No Jobs found to prune 09-Apr 02:17 127001-dir JobId 23: Begin pruning Jobs 09-Apr 02:17 127001-dir JobId 23: No Files found to prune 09-Apr 02:17 127001-dir JobId 23: End auto prune 09-Apr 02:17 127001-dir JobId 23: shell command: run AfterJob "sudo /usr/share/eole/bacula/baculamountpy --umount" 09-Apr 02:17 127001-dir JobId 23: AfterJob: Démontage OK 3 Restauration *restore First you select one or more JobIds that contain files to be restored You will be presented several methods of specifying the JobIds Then you will be allowed to select which files from those JobIds are to be restored To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved 3: Enter list of comma separated JobIds to select 4: Enter SQL list command 5: Select the most recent backup for a client 6: Select backup for a client before a specified time 7: Enter a list of files to restore 8: Enter a list of files to restore before a specified time 9: Find the JobIds of the most recent backup for a client Page 8 / 24 Version du 10 Avril 2015
10: Find the JobIds for a backup for a client before a specified time 11: Enter a list of directories to restore for found JobIds 12: Select full restore to a specified Job date 13: Cancel Select item: (1-13): 4 Voir les types de sauvegardes *list pools PoolId Name NumVols MaxVols PoolType LabelFormat 1 PoolDefault 1 1 Backup 127001-dir-volume- 2 Full-Pool 60 0 Backup 127001-dir-full- 3 Diff-Pool 13 0 Backup 127001-dir-diff- 4 Inc-Pool 1 0 Backup 127001-dir-inc- 5 PoolCatalog 1 1 Backup 127001-dir-catalog- 5 Voir le nombre de volumes utilisé par un type de sauvegarde : Pour les sauvegardes complètes par exemple : *list pool=full-pool PoolId Name NumVols MaxVols PoolType LabelFormat 2 Full-Pool 60 0 Backup 127001-dir-full- Page 9 / 24 Version du 10 Avril 2015
6 Voir la configuration d'un type de sauvegarde : *show pool=full-pool Pool: name=full-pool PoolType=Backup use_cat=1 use_once=0 cat_files=1 max_vols=0 auto_prune=1 VolRetention=3 months VolUse=1 month recycle=1 LabelFormat=127001-dir-full- CleaningPrefix=*None* LabelType=0 RecyleOldest=1 PurgeOldest=0 ActionOnPurge=0 MaxVolJobs=0 MaxVolFiles=0 MaxVolBytes=2000000000 MigTime=0 secs MigHiBytes=0 MigLoBytes=0 JobRetention=0 secs FileRetention=4 years 4 months 8 days 1 hour 43 mins 4 secs 7 La commande «query» *query Available queries: 1: List up to 20 places where a File is saved regardless of the directory 2: List where the most recent copies of a file are saved 3: List last 20 Full Backups for a Client 4: List all backups for a Client after a specified time 5: List all backups for a Client 6: List Volume Attributes for a selected Volume 7: List Volumes used by selected JobId 8: List Volumes to Restore All Files 9: List Pool Attributes for a selected Pool 10: List total files/bytes by Job 11: List total files/bytes by Volume 12: List Files for a selected JobId Page 10 / 24 Version du 10 Avril 2015
13: List Jobs stored on a selected MediaId 14: List Jobs stored for a given Volume name 15: List Volumes Bacula thinks are in changer 16: List Volumes likely to need replacement from age or errors 17: Count Running Jobs (EOLE:running_jobs) 18: List total bytes by Pool (EOLE:pools_size) Choose a query (1-18): 8 Lister les volumes utilisés par un job Pour le Jobid 2 par exemple : * list volume jobid=2 Jobid 2 used 3 Volume(s): 127001-dir-full-0075 127001-dir-full-0033 127001-dirfull-0002 JobId Name StartTime Type Level JobFiles JobBytes JobStatus 2 JobSauvegarde 2015-04-07 19:45:31 B F 40612 3452565385 T Ou bien *query Available queries: 7: List Volumes used by selected JobId Choose a query (1-18): 7 Enter JobId: 2 JobId VolumeName 2 127001-dir-full-0002 Page 11 / 24 Version du 10 Avril 2015
2 127001-dir-full-0033 2 127001-dir-full-0075 9 Lister les jobs utilisant un volume *query Available queries: 13: List Jobs stored on a selected MediaId 14: List Jobs stored for a given Volume name 15: List Volumes Bacula thinks are in changer Choose a query (1-18): 14 Enter Volume name: 127001-dir-diff-0021 JobId Name StartTime Type Level Files Bytes Status 14 JobSauvegarde 2015-04-08 01:00:34 B D 604 2177323 T 21 JobSauvegarde 2015-04-09 01:00:39 B D 604 2177323 T 10 Trouver les jobs ayant sauvegardés un fichier Recherchons les sauvegardes de esuexe par exemple : *query Available queries: 1: List up to 20 places where a File is saved regardless of the directory Page 12 / 24 Version du 10 Avril 2015
2: List where the most recent copies of a file are saved Choose a query (1-18): 1 Enter Filename (no path): esuexe JobId Client Path Name StartTime Level JobFiles JobBytes 2 127001-fd /home/esu/console/ esuexe 2015-04-07 19:45:31 F 40612 3452565385 8 127001-fd /home/esu/console/ esuexe 2015-04-07 20:30:34 F 40624 3545524418 8 127001-fd /home/esu/console/ esuexe 2015-04-07 21:17:48 F 40624 3545525227 8 127001-fd /home/esu/console/ esuexe 2015-04-08 13:02:19 F 40627 3545526527 11 Écriture de requêtes : *sqlquery 111 Rechercher recherchons les volumes dont la date de dernière écriture est avant le 01 mars 2015 Enter SQL query: select VolumeName,LastWritten,VolRetention/(3600*24*30) as VolRetMois from media where LastWritten < '2015-03-01' order by LastWritten; VolumeName LastWritten VolRetMois 127001-dir-full-0037 2015-01-21 14:50:25 3 127001-dir-full-0038 2015-01-25 01:15:21 3 (3600*24*30) pour afficher la valeur en mois et non en seconde 127001-dir-full-0039 2015-01-25 01:34:46 3 127001-dir-full-0040 2015-01-25 01:41:34 3 127001-dir-full-0041 2015-01-25 01:47:28 3 127001-dir-full-0042 2015-02-01 01:12:07 3 127001-dir-full-0043 2015-02-01 01:35:08 3 127001-dir-full-0044 2015-02-01 01:43:22 3 Page 13 / 24 Version du 10 Avril 2015
127001-dir-full-0045 2015-02-08 01:02:57 3 127001-dir-full-0046 2015-02-08 01:26:26 3 127001-dir-full-0047 2015-02-08 01:32:24 3 127001-dir-full-0048 2015-02-08 01:38:44 3 127001-dir-full-0049 2015-02-15 01:22:23 3 127001-dir-full-0050 2015-02-22 01:02:00 3 127001-dir-full-0051 2015-02-22 01:26:12 3 127001-dir-diff-0071 2015-02-28 01:01:22 1 112 Préparation de requêtes pour exécuter en ligne de commande 1121 prune (bconsole) Enter SQL query: select 'prune yes volume=' volumename from media where lastwritten < '2015-01-01'; 'prune yes volume=' volumename prune yes volume=127001-dir-full-0010 prune yes volume=127001-dir-full-0011 prune yes volume=127001-dir-full-0012 prune yes volume=127001-dir-full-0014 prune yes volume=127001-dir-full-0015 prune yes volume=127001-dir-diff-0067 prune yes volume=127001-dir-diff-0068 prune yes volume=127001-dir-diff-0069 Page 14 / 24 Version du 10 Avril 2015
prune yes volume=127001-dir-diff-0070 Copier puis coller dans un bloc note pour traitement : faire du remplacement : afin d'obtenir : prune yes volume=127001-dir-full-0010 prune yes volume=127001-dir-full-0011 prune yes volume=127001-dir-full-0012 Page 15 / 24 Version du 10 Avril 2015
prune yes volume=127001-dir-full-0013 prune yes volume=127001-dir-full-0014 prune yes volume=127001-dir-full-0015 prune yes volume=127001-dir-full-0065 prune yes volume=127001-dir-full-0066 prune yes volume=127001-dir-full-0067 prune yes volume=127001-dir-full-0068 prune yes volume=127001-dir-full-0069 prune yes volume=127001-dir-full-0070 copier coller le résultat dans bconsole 1122 delete (bconsole) Enter SQL query: select 'delete yes volume=' volumename from media where lastwritten < '2015-01-01'; 'delete yes volume=' volumename delete yes volume=127001-dir-full-0010 delete yes volume=127001-dir-full-0011 delete yes volume=127001-dir-full-0012 delete yes volume=127001-dir-full-0014 delete yes volume=127001-dir-full-0015 Page 16 / 24 Version du 10 Avril 2015
delete yes volume=127001-dir-diff-0067 delete yes volume=127001-dir-diff-0068 delete yes volume=127001-dir-diff-0069 delete yes volume=127001-dir-diff-0070 Copier puis coller dans un bloc note et procéder comme pour «prune» page 14 1123 rm (batch) Enter SQL query: select 'rm -f ' volumename from media where lastwritten < '2015-01- 01'; 'rm -f' volumename rm -f 127001-dir-full-0010 rm -f 127001-dir-full-0011 rm -f 127001-dir-full-0012 rm -f 127001-dir-full-0014 rm -f 127001-dir-full-0015 rm -f 127001-dir-diff-0067 rm -f 127001-dir-diff-0068 rm -f 127001-dir-diff-0069 rm -f 127001-dir-diff-0070 Copier puis coller dans un bloc note et procéder comme pour «prune» page 14 Page 17 / 24 Version du 10 Avril 2015
113 Exécuter les commandes précédentes 1131 Dans bconsole *prune yes volume=127001-dir-full-0010 The current Volume retention period is: 6 months There are no more Jobs associated with Volume "127001-dir-full-0010" Marking it purged *delete yes volume=127001-dir-full-0010 This command will delete volume 127001-dir-full-0010 and all Jobs saved on that volume from the Catalog 1132 Dans un terminal batch root@scribe-macon:/mnt/sauvegardes# rm -f 127001-dir-full-0010 Page 18 / 24 Version du 10 Avril 2015
12 Modifier le temps de rétention des volumes 1211 Avant Enter SQL query: select VolumeName,LastWritten,VolRetention/(3600*24*30) as VolRetMois from media where volumename like '127001-dir-full%' order by LastWritten; VolumeName LastWritten VolRetMois 127001-dir-full-0034 2015-01-21 14:08:07 6 127001-dir-full-0035 2015-01-21 14:31:58 6 127001-dir-full-0036 2015-01-21 14:39:43 6 127001-dir-full-0037 2015-01-21 14:50:25 6 127001-dir-full-0004 2015-04-07 21:22:00 6 127001-dir-full-0005 2015-04-07 21:50:48 6 127001-dir-full-0006 2015-04-07 21:55:24 6 1212 modification Enter SQL query: update media set volretention='7776000' where volumename like '127001-dir-full%'; No results to list 1213 après Enter SQL query: select VolumeName,LastWritten,VolRetention/(3600*24*30) as VolRetMois from media where volumename like '127001-dir-full%' order by LastWritten; Page 19 / 24 Version du 10 Avril 2015
VolumeName LastWritten VolRetMois 127001-dir-full-0034 2015-01-21 14:08:07 3 127001-dir-full-0035 2015-01-21 14:31:58 3 127001-dir-full-0036 2015-01-21 14:39:43 3 127001-dir-full-0037 2015-01-21 14:50:25 3 127001-dir-full-0004 2015-04-07 21:22:00 3 127001-dir-full-0005 2015-04-07 21:50:48 3 127001-dir-full-0006 2015-04-07 21:55:24 3 122 Lister les tables disponible dans sqlite de bconsole Enter SQL query: SELECT name FROM sqlite_master WHERE type='table' ORDER BY name; +----------------+ name +----------------+ BaseFiles CDImages Client Counters Device File FileSet Filename Job JobHisto JobMedia Location LocationLog Log Media MediaType NextId Path PathHierarchy PathVisibility Pool Status Storage UnsavedFiles Version +----------------+ Page 20 / 24 Version du 10 Avril 2015
123 Liste des champs disponibles dans la table 'Media' Enter SQL query: select sql from sqlite_master where name='media'; +---------------------------------------------------------------------------------------+ sql +---------------------------------------------------------------------------------------+ CREATE TABLE Media ( MediaId INTEGER, VolumeName VARCHAR(128) NOT NULL, Slot INTEGER DEFAULT 0, PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, MediaType VARCHAR(128) NOT NULL, MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0, LabelType TINYINT DEFAULT 0, FirstWritten DATETIME DEFAULT 0, LastWritten DATETIME DEFAULT 0, LabelDate DATETIME DEFAULT 0, VolJobs INTEGER UNSIGNED DEFAULT 0, VolFiles INTEGER UNSIGNED DEFAULT 0, VolBlocks INTEGER UNSIGNED DEFAULT 0, VolMounts INTEGER UNSIGNED DEFAULT 0, VolBytes BIGINT UNSIGNED DEFAULT 0, VolParts INTEGER UNSIGNED DEFAULT 0, VolErrors INTEGER UNSIGNED DEFAULT 0, VolWrites INTEGER UNSIGNED DEFAULT 0, VolCapacityBytes BIGINT UNSIGNED DEFAULT 0, VolStatus VARCHAR(20) NOT NULL, Enabled TINYINT DEFAULT 1, Recycle TINYINT DEFAULT 0, ActionOnPurge TINYINT DEFAULT 0, VolRetention BIGINT UNSIGNED DEFAULT 0, VolUseDuration BIGINT UNSIGNED DEFAULT 0, Page 21 / 24 Version du 10 Avril 2015
MaxVolJobs INTEGER UNSIGNED DEFAULT 0, MaxVolFiles INTEGER UNSIGNED DEFAULT 0, MaxVolBytes BIGINT UNSIGNED DEFAULT 0, InChanger TINYINT DEFAULT 0, StorageId INTEGER UNSIGNED REFERENCES Storage DEFAULT 0, DeviceId INTEGER UNSIGNED REFERENCES Device DEFAULT 0, MediaAddressing TINYINT DEFAULT 0, VolReadTime BIGINT UNSIGNED DEFAULT 0, VolWriteTime BIGINT UNSIGNED DEFAULT 0, EndFile INTEGER UNSIGNED DEFAULT 0, EndBlock INTEGER UNSIGNED DEFAULT 0, LocationId INTEGER UNSIGNED REFERENCES Location DEFAULT 0, RecycleCount INTEGER UNSIGNED DEFAULT 0, InitialWrite DATETIME DEFAULT 0, ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0, Comment TEXT, PRIMARY KEY(MediaId) ) +---------------------------------------------------------------------------------------+ @ https://danlangilleorg/2013/03/07/deleting-old-bacula-volumes/ Page 22 / 24 Version du 10 Avril 2015
13 Estimer la taille de la prochaine sauvegardes *estimate job=jobsauvegarde Using Catalog "MyCatalog" Connecting to Client 127001-fd at 127001:9102 2000 OK estimate files=44,394 bytes=5,223,375,000 14 Lancer une commande bconsole depuis un terminal root@scribe-macon:~# echo "list jobs" bconsole Connexion au Director 127001:9101 1000 OK: 127001-dir Version: 501 (24 February 2010) Tapez un point () pour annuler une commande list jobs Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" +-------+-----------------+---------------------+------+-------+----------+------------+-----------+ JobId Name StartTime Type Level JobFiles JobBytes JobStatus +-------+-----------------+---------------------+------+-------+----------+------------+-----------+ 2 JobSauvegarde 2015-04-07 19:45:31 B F 40612 3452565385 T 5 JobSauvegarde 2015-04-07 20:26:10 B I 38 95126219 T 8 JobSauvegarde 2015-04-07 20:30:34 B F 40624 3545524418 T 11 JobSauvegarde 2015-04-07 21:17:48 B F 40624 3545525227 T 14 JobSauvegarde 2015-04-08 01:00:34 B D 604 2177332 T 18 JobSauvegarde 2015-04-08 13:02:19 B F 40627 3545526527 T 21 JobSauvegarde 2015-04-09 01:00:39 B D 604 2177323 T 25 JobSauvegarde 2015-04-10 01:00:37 B F 43897 3595461447 T 29 JobSauvegarde 2015-04-11 01:00:35 B D 617 2196037 T 33 JobSauvegarde 2015-04-12 01:00:31 B F 43904 3595464792 T 37 JobSauvegarde 2015-04-13 01:00:33 B D 917 2254422 T 41 JobSauvegarde 2015-04-14 01:00:47 B D 1430 58170200 T 42 BackupCatalog 2015-04-14 02:17:19 B F 6 37490838 T 43 JobSchedulePost 2015-04-14 02:17:30 B F 0 0 T +-------+-----------------+---------------------+------+-------+----------+------------+-----------+ Page 23 / 24 Version du 10 Avril 2015
15 Annuler une commande Tapez un point () pour annuler une commande! Tapez un point Page 24 / 24 Version du 10 Avril 2015