I'm glad you found a solution. Can you tell us what issues you found and what the solution was? That might help someone else in the future.
__Martin >>>>> On Thu, 19 Dec 2024 15:48:55 +0100, Samuel Zaslavsky said: > > Hi Martin, > I managed to get back on my feet: there were several issues that made > things difficult to understand, but you helped me a lot. > Thank you so much ! > And thanks also to everyone who spent time on my problem ! > Best, > Sam > > > Le ven. 13 déc. 2024 à 19:05, Martin Simmons <mar...@lispworks.com> a > écrit : > > > Using 'o' in the fileset accurate option has caused problems with restore > > for > > another user on the list recently. I don't know if it could also break > > estimate. Have you used the 'o' option in previous incremental backups? > > > > Accurate backups assume that the full path to each file is the same as > > before. > > Has /path/to/ARCHIVES (the root of the backup) changed since previous > > backups? > > Have you renamed/moved any files or directories within the files being > > backed > > up? > > > > You could try to find more info about some file that is being included > > unexpectedly by: > > > > 1. Add the listing option to the two estimate commands and record the > > outputs > > somewhere. > > > > 2. Find a file in the accurate=yes listing that doesn't appear in the > > accurate=no listing. > > > > 3. Run this SQL command: > > > > SELECT DISTINCT Job.JobId,StartTime AS JobStartTime,VolumeName, File.lstat > > FROM Job,Path,File,Media,JobMedia,Client > > WHERE File.JobId=Job.JobId > > AND File.FileIndex > 0 > > AND Path.Path='%1' > > AND File.FileName='%2' > > AND Client.Name='%3' > > AND Path.PathId=File.PathId > > AND JobMedia.JobId=Job.JobId > > AND JobMedia.MediaId=Media.MediaId > > AND Client.ClientId=Job.ClientId > > ORDER BY Job.StartTime DESC LIMIT 1; > > > > where %1 is the full path to the directory of the file with trailing > > slash, %2 > > is the filename of the file and %3 is the Bacula client name (lto8-fd). > > > > 4. Run the shell commands: > > > > stat /full/path/to/filename > > > > stat -t /full/path/to/filename > > > > __Martin > > > > > > >>>>> On Wed, 11 Dec 2024 11:37:19 +0100, Samuel Zaslavsky said: > > > > > > Hello everyone ! > > > > > > Any ideas for solving this problem? > > > I'm stuck here... > > > > > > Thanks a lot for your help, > > > > > > Best, > > > > > > Sam > > > > > > > > > Le ven. 6 déc. 2024 à 12:38, Samuel Zaslavsky <s...@w4tch.tv> a écrit : > > > > > > > Hello all, > > > > > > > > Sorry for this late reply. (According to Murphy's law, our Bacula > > server > > > > failed, and it took some time to figure out that the SAS card was > > dead, and > > > > get another one ...) > > > > > > > > I did some tests, and there's something new : > > > > In fact, the fileset seems to be OK, and the Incremental "could" > > resume... > > > > > > > > If I do an estimate without accurate, I get around 18K files / 3To , > > which > > > > looks like "OK" for incremental : > > > > > > > > *estimate accurate=no level=incremental job=BackupARCHIVES > > > > Using Catalog "MyCatalog" > > > > Connecting to Client lto8-fd at localhost:9102 > > > > 2000 OK estimate files=17,949 bytes=3,465,825,854,672 > > > > > > > > But with accurate=yes , I get 530K files / 23To, which is (almost ? see > > > > below) a FULL backup : > > > > > > > > *estimate accurate=yes level=incremental job=BackupARCHIVES > > > > Using Catalog "MyCatalog" > > > > Connecting to Client lto8-fd at localhost:9102 > > > > 2000 OK estimate files=530,779 bytes=23,005,947,679,372 > > > > > > > > So I have tried to estimate my job with acurate=true and several > > options > > > > for accurate in the fileset : > > > > > > > > FileSet { > > > > Name = "ARCHIVES" > > > > Ignore FileSet Changes=yes > > > > Include { > > > > Options { > > > > signature=MD5 > > > > *#I have tried many accurate options here : mcso5, > > mso5, > > > > so5,M,m,o5,sm,s, or nothing (line commented)* > > > > accurate=s > > > > mtimeonly=yes > > > > #Verify = pin5 > > > > } > > > > File = /path/to/ARCHIVES > > > > } > > > > > > > > Exclude { > > > > File = "/path/to/ARCHIVES/#recycle" > > > > } > > > > } > > > > > > > > But all my attempts with Job accurate=yes give me almost the same > > result - > > > > but slightly different sometimes ( could be 531,057 files, or 530,719 > > > > or 530,779 files, depending on the accurate option chosen...) > > > > > > > > As I understand it, accurate=s in the Fileset definition should tell > > > > Bacula that a file with "same path, same size" shouldn't be backed up > > > > again... > > > > But this isn't the case and my understanding is clearly wrong... > > > > And as I understand it also, accurate=no would lead, in case of > > restore, > > > > to restore even suppressed and moved files, which is not what I want. > > > > > > > > So I am stuck : resume incremental backup without accurate option, or > > > > restart a full backup with accurate option. Or understand better > > things ... > > > > :) > > > > Can anyone help me there ? > > > > > > > > Thanks a lot ! > > > > > > > > Sam > > > > > > > > > > > > Le mar. 12 nov. 2024 à 17:18, Radosław Korzeniewski < > > > > rados...@korzeniewski.net> a écrit : > > > > > > > >> Hello, > > > >> > > > >> wt., 12 lis 2024 o 12:00 Samuel Zaslavsky <s...@w4tch.tv> napisał(a): > > > >> > > > >>> So, precisely, how does Bacula "decides" a fileset is different from > > > >>> another one ? > > > >>> > > > >> > > > >> Bacula is checking the fileset changes based on a fileset content. > > > >> > > > >> > > > >>> Where is this information stored in the database ? > > > >>> > > > >> > > > >> It is a fileset table. > > > >> > > > >> > > > >>> How could I trick bacula to believe that all previous jobs have been > > > >>> made with the new fileset : This would be OK for me ! > > > >>> My idea was that it would be using the fileset.md5 field (or > > createtime > > > >>> ?) > > > >>> > > > >> > > > >> From what I know Bacula is checking the md5 column for this purpose. > > So, > > > >> if your new fileset md5 will be the same of which is already saved > > then > > > >> Bacula won't have any traces it is a different fileset. > > > >> > > > >> > > > >>> > > > >>> So, a few related questions : When will bacula add another entry in > > the > > > >>> fileset database table ? > > > >>> > > > >> > > > >> If your current configuration includes a selected fileset and md5 does > > > >> not match the one saved in the database then Bacula will create a new > > entry. > > > >> > > > >> > > > >>> It seems it's not when doing an estimate... > > > >>> So, should I start ( and abort quickly) a dummy job using the "new" > > > >>> fileset, to see the "new" fileset in the database ? And then try to > > trick > > > >>> Bacula into thinking the old one is the new one ? > > > >>> > > > >> > > > >> Yes, it sounds good to me. > > > >> > > > >> > > > >>> If this is a pertinent approach, how exactly do that ? > > > >>> For example, where in the database is the information that a "file" > > > >>> belongs to some files set ? > > > >>> > > > >> > > > >> Database relation. > > > >> bacula=# \d file > > > >> Table "public.file" > > > >> Column | Type | Collation | Nullable | Default > > > >> > > > >> > > > >> > > -----------+----------+-----------+----------+-------------------------------------- > > > >> fileid | bigint | | not null | > > > >> nextval('file_fileid_seq'::regclass) > > > >> jobid | integer | | not null | > > > >> ... > > > >> bacula=# \d job > > > >> Table "public.job" > > > >> Column | Type | Collation | > > Nullable | > > > >> Default > > > >> > > > >> > > -------------------+-----------------------------+-----------+----------+------------------------------------ > > > >> jobid | integer | | not > > null | > > > >> nextval('job_jobid_seq'::regclass) > > > >> filesetid | integer | | > > | > > > >> 0 > > > >> ... > > > >> bacula=# \d fileset > > > >> Table "public.fileset" > > > >> Column | Type | Collation | Nullable | > > > >> Default > > > >> > > > >> > > ------------+-----------------------------+-----------+----------+-------------------------------------------- > > > >> filesetid | integer | | not null | > > > >> nextval('fileset_filesetid_seq'::regclass) > > > >> > > > >> Is it in the file.lstat column ? If yes, how is it "encoded" here ? > > > >>> > > > >> > > > >> This column is a "direct" serialisation of lstat(2), struct stat {}; > > > >> buffer. It is (to some extent) OS dependent. > > > >> > > > >> > > > >>> > > > >>> Basically, I need to understand how the relationship between fileset > > > >>> conf <--> fileset in database <--> files in fileset is handled... > > > >>> > > > >>> > > > >> When Bacula detects a fileset change, because the md5 is different > > then > > > >> the one saved in the database then it creates a new entry. Then a job > > will > > > >> get a new filesetid as a reference for job entry in the database and > > all > > > >> files saved will get a jobid reference. > > > >> > > > >> > > > >>> Or maybe I am completely wrong here ? > > > >>> > > > >> > > > >> You are just asking questions. You can't be wrong asking questions. > > > >> > > > >> > > > >>> The filesystem to be backed up is mounted as NFS share on the bacula > > > >>> host. > > > >>> > > > >> > > > >> Any chance you can access this filesystem directly without mounting > > it on > > > >> the remote host? It would be better. > > > >> > > > >> > > > >>> Is it possible that the reboot/remount changed a key parameter for > > > >>> Bacula ? > > > >>> > > > >> > > > >> Well. Let's assume your first mount point is: /mnt/data. Then you > > reboot > > > >> and the new mount point is /mnt/data1. Then it makes a huge > > difference for > > > >> Bacula, for sure. > > > >> > > > >> > > > >>> So that Bacula recognizes well the filesystem as the old one, > > > >>> > > > >> > > > >> It doesn't matter. What matters are some metadata for the file, i.e. > > > >> modify time. You can configure what metadata should be verified in > > this > > > >> case. But you can't force Bacula to not backup a file which does not > > exist > > > >> at the previous backup jobs. > > > >> > > > >> > > > >>> but doesn't recognize any file anymore ? ( Remember that fileset > > name, > > > >>> and all paths in the fileset configuration are the same as before ! ) > > > >>> > > > >> > > > >> I'm pretty sure your fileset content is different then the one used > > > >> before, so Bacula wants to create a full backup. > > > >> > > > >> best regards > > > >> -- > > > >> Radosław Korzeniewski > > > >> rados...@korzeniewski.net > > > >> > > > > > > > > > > _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users