3 # Run a big test with backup of millions of files then run 100 incremental
4 # modifying 10% each time
11 ${rscripts}/copy-test-confs
12 echo "${cwd}/files" >${tmp}/file-list
13 rm -rf ${tmp}/bacula-restores
16 change_jobname CompressedTest $JobName
17 if echo $* | grep accurate >/dev/null; then
18 sed 's/Name = "speed"/Name = "speed"; accurate=yes/' $conf/bacula-dir.conf > $tmp/1
19 mv $tmp/1 $conf/bacula-dir.conf
22 if echo $* | grep basejob >/dev/null; then
23 sed 's/Name = "speed"/Name = "speed"; accurate=yes;basejob=speed/' $conf/bacula-dir.conf > $tmp/1
24 mv $tmp/1 $conf/bacula-dir.conf
30 # Create X million of files
31 echo "Creating 1.5M files"
33 my $dest="'$cwd/files'";
37 $base = chr(750000 % 26 + 65);
38 if (-f "$dest/$base/aaa750000aaa$base") {
42 for(my $i=0; $i < 26; $i++) {
44 mkdir("$dest/$base") or die "$dest/$base $!";
46 for(my $i=0; $i<=750000; $i++) {
47 $base = chr($i % 26 + 65);
48 open(FP, ">$dest/$base/a${base}a${i}aaa$base") or die "$dest/$base $!";
52 open(FP, ">$dir/b${base}a${i}csq$base") or die "$dir $!";
53 print FP "$base $i\n";
57 $dir = "$dest/$base/$base$i$base";
60 print "." if (!($i % 10000));
65 cat <<END_OF_DATA >${tmp}/bconcmds
69 label storage=File volume=TestVolume001
70 run job=$JobName $basejob yes
77 check_for_zombie_jobs storage=File
79 cat <<END_OF_DATA >${tmp}/bconcmds
83 run job=$JobName level=Full yes
89 # insert 15 million files into File table
95 cat <<END_OF_DATA >${tmp}/bconcmds
99 run job=$JobName level=Incremental yes
110 my $dest="'$cwd/files'";
112 my $base = chr($start + 65);
114 opendir(DIR, "$dest/$base") || die "$!";
116 open(FP, ">$dest/$base/$_") or die "$_ $!";
117 print FP "update $_\n";
119 } grep { ! /^\./ && -f $_ } readdir(DIR);
126 cat <<END_OF_DATA >${tmp}/bconcmds
132 @$out ${tmp}/log2.out
134 restore where=${tmp}/bacula-restores storage=File select all done yes
144 check_for_zombie_jobs storage=File
150 find ${tmp}/bacula-restores | wc -l | tee $tmp/bacula-restore-list
151 rm -rf ${tmp}/bacula-restores
153 cp working/log files/log${WHICHDB}-$(date +%F_%H-%M).log