Mijn vraag
In een eerder topic vroeg ik me af hoe ik de grootte van een backup kon berekenen. Dat deed ik toen door awk een optelsom te laten maken van de 3e kolom van alle lijnen tussen "<code>" en "</code>".
Ondertussen is mijn script iets uitgebreider geworden en heb ik backups met tar in multi volumes, per volume in een code block gezet. Nu zou ik graag per code block een totaal willen hebben van hoeveel bytes er in een bepaald volume zit.
Een volume begint steeds met ====VOLUME[NUM]====\n<code>\n en dan de tar output, gevolgde door weer \n</code>. In mijn script heb ik een functie gemaakt die het aantal volumes in een variabele zet. Een backup kan 1 tape zijn maar net zo goed 10.
Met deze awk oneliner kan ik dus de totale grootte van de backup berekenen, maar ik wil dus iets fijnmaziger kunnen gaan rekenen per tape/volume. Ik zie niet goed hoe ik dat gemakkelijk in orde kan brengen.
Ik draai een standaard Debian Buster en gebruik Bash scripting en alle gangbare tools die je eenvoudig kan installeren op een Debian. De txt file die hierin resulteert wordt een pagina in een dokuwiki die de metadata mijn tape archief bij houdt
In een eerder topic vroeg ik me af hoe ik de grootte van een backup kon berekenen. Dat deed ik toen door awk een optelsom te laten maken van de 3e kolom van alle lijnen tussen "<code>" en "</code>".
Ondertussen is mijn script iets uitgebreider geworden en heb ik backups met tar in multi volumes, per volume in een code block gezet. Nu zou ik graag per code block een totaal willen hebben van hoeveel bytes er in een bepaald volume zit.
Een volume begint steeds met ====VOLUME[NUM]====\n<code>\n en dan de tar output, gevolgde door weer \n</code>. In mijn script heb ik een functie gemaakt die het aantal volumes in een variabele zet. Een backup kan 1 tape zijn maar net zo goed 10.
Met deze awk oneliner kan ik dus de totale grootte van de backup berekenen, maar ik wil dus iets fijnmaziger kunnen gaan rekenen per tape/volume. Ik zie niet goed hoe ik dat gemakkelijk in orde kan brengen.
code:
1
| backup_size=$(awk '/code/,/\/code/ {sum+=$3;} END {printf "%.1f", sum;}'} |
Ik draai een standaard Debian Buster en gebruik Bash scripting en alle gangbare tools die je eenvoudig kan installeren op een Debian. De txt file die hierin resulteert wordt een pagina in een dokuwiki die de metadata mijn tape archief bij houdt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| ====VOLUME1==== <code> V--------- 0/0 0 1970-01-01 01:00 photobackup-2021-05-13 Volume 1--Volume Header-- drwxrwxrwx 1028/138862 9999999 2021-05-10 20:12 ./photo/ -rwxrwxrwx 1028/138862 999992627 2000-11-25 09:53 ./photo/2000/11/25/DSC00331.JPG -rwxrwxrwx 1028/138862 999991366 2000-11-25 15:54 ./photo/2000/11/25/DSC00420.JPG -rwxrwxrwx 1028/138862 411538601 2007-12-31 21:06 ./photo/2007/12/31/PC310292.JPG </code> ====VOLUME2==== <code> V--------- 0/0 0 1970-01-01 01:00 photobackup-2021-05-13 Volume 2--Volume Header-- -rwxrwxrwx 1028/138862 411480855 2007-12-31 23:25 ./photo/2007/12/31/PC310343.JPG -rwxrwxrwx 1028/138862 411583486 2007-12-31 16:15 ./photo/2007/12/31/PC310272.JPG -rwxrwxrwx 1028/138862 411464832 2007-12-31 22:21 ./photo/2007/12/31/PC310323.JPG -rwxrwxrwx 1028/138862 411634708 2007-12-31 22:45 ./photo/2007/12/31/PC310334.JPG drwxrwxrwx 1028/138862 0 2019-07-24 10:10 ./photo/2008/12/25/ -rwxrwxrwx 1028/138862 11535827 2008-12-25 02:25 ./photo/2008/12/25/PC250005.JPG -rwxrwxrwx 1028/138862 11509554 2008-12-25 02:25 ./photo/2008/12/25/PC250007.JPG -rwxrwxrwx 1028/138862 11634581 2008-12-25 02:25 ./photo/2008/12/25/PC250006.JPG </code> ====VOLUME3==== <code> V--------- 0/0 0 1970-01-01 01:00 photobackup-2021-05-13 Volume 3--Volume Header-- drwxrwxrwx 1028/138862 0 2019-07-24 10:10 ./photo/2008/12/31/ -rwxrwxrwx 1028/138862 12603955 2010-01-01 13:04 ./photo/2008/12/31/PC310012.JPG -rwxrwxrwx 1028/138862 11479048 2008-12-31 20:43 ./photo/2008/12/31/PC310009.JPG -rwxrwxrwx 1028/138862 11299563 2008-12-31 22:03 ./photo/2008/12/31/PC310023.JPG -rwxrwxrwx 1028/138862 12665568 2010-01-01 13:05 ./photo/2008/12/31/PC310017.JPG -rwxrwxrwx 1028/138862 11138045 2008-03-09 19:33 ./photo/2008/03/09/DSCN1039.JPG drwxrwxrwx 1028/138862 0 2019-07-24 11:08 ./photo/2008/03/15/ -rwxrwxrwx 1028/138862 999993051 2000-11-25 11:03 ./photo/2000/11/25/DSC00374.JPG -rwxrwxrwx 1028/138862 999993051 2000-11-25 11:03 ./photo/2000/11/25/DSC00374.JPG -rwxrwxrwx 1028/138862 999993051 2000-11-25 11:03 ./photo/2000/11/25/DSC00374.JPG -rwxrwxrwx 1028/138862 999993051 2000-11-25 11:03 ./photo/2000/11/25/DSC00374.JPG -rwxrwxrwx 1028/138862 999993051 2000-11-25 11:03 ./photo/2000/11/25/DSC00374.JPG -rwxrwxrwx 1028/138862 999993051 2000-11-25 11:03 ./photo/2000/11/25/DSC00374.JPG -rwxrwxrwx 1028/138862 1128081 2008-03-15 08:20 ./photo/2008/03/15/kop.JPG drwxrwxrwx 1028/138862 0 2015-12-23 14:44 ./photo/2008/03/08/ </code> |