Date: Mon, 17 Mar 2003 15:09:47 -0500 From: Edmond Baroud <SoHo@admin.fido.ca> To: Tom Parquette <tparquet@twcny.rr.com> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Shell scripting questions Message-ID: <20030317150947.6570b8a7.SoHo@admin.fido.ca> In-Reply-To: <3E762419.3040900@twcny.rr.com> References: <3E762419.3040900@twcny.rr.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 17 Mar 2003 14:38:01 -0500 Tom Parquette <tparquet@twcny.rr.com> wrote: > I've been looking through some basic shell books, and some online > resources, that I have but I'm not finding the answer. > Or maybe I just don't recognize the answer when I see it... > > I'm building a schell script that will backup my systems to CD-ROM. Or > DVD when I can talk my wife into a burner. :-) > > I'm stuck on two items: > 1) Since my tar files CAN exceed the capacity of a CD-ROM, I want to > check in the script if I have to call split. > The closest I can come to determining the size of the output file from > tar (e.g.ad0s1a.tgz) is: file_size=`du -k /tmp/ad0s1a.tgz`. > The problem I have is, while this gives me the result in number of K > blocks, it also returns the file name and directory. I don't know how > to get JUST the number of K blocks so I can do a numeric compare against > 700m. file_size=`du -k /tmp/ad0s1a.tgz|awk '{print $1}'` num_compare=`expr 700000 - $file_size` > > 2) I have a function written that will tar/gzip the filesystem then > split it into pieces that will be turned into .iso files that will be > fed to burncd. I would like to capture the output of commands (e.g. ls > -l /tmp/ad0s1a.*) into a "table" that I can examine to determine what > was output by the split command so I know what mkisofs commands, and how > many, I have to build/execute. Example: If I end up with a > ad0s1a.tgz.aa, ab, and ac from split, I know I have to do mkisofs' for 3 > files. I don't know what your split command returns but I beleive u can put that in a loop. > > I also hope to use the same technique for determining what filesystems > I have to backup in the first place. e.g. If I do a df command I want > to pull out the filesystem name and what mountpoint it is on. The > mountpoint is important to me because I do not want to back up some > filesystems. e.g. I do not want to backup /tmp. I think that all u're missing here is the "awk" command. man awk ;) fs=`df|awk '{print $6}'|grep -vi mounted` for i in $fs do if [ $i = "/" ] then backup_script args elseif [ $i = "/etc" ] backup_script args else elseif [ $i = "/tmp" ] echo "I'm not backing up /tmp !" else do something fi done > > TIA. > Cheers... hope this helps. Ed. > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-questions" in the body of the message -- Edmond Baroud UNIX Systems Admin mailto:SoHo@admin.fido.ca Fingerprint 140F 5FD5 3FDD 45D9 226D 9602 8C3D EAFB 4E19 BEF9 "UNIX is very user friendly, it's just picky about who its friends are." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030317150947.6570b8a7.SoHo>