On Mon, 17 Mar 2003 15:09:47 -0500 Edmond Baroud <[EMAIL PROTECTED]> wrote:
> On Mon, 17 Mar 2003 14:38:01 -0500 > Tom Parquette <[EMAIL PROTECTED]> 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 u dont need this else I forgot to remove it in this example :) > 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 [EMAIL PROTECTED] > > with "unsubscribe freebsd-questions" in the body of the message > > > -- > Edmond Baroud > UNIX Systems Admin mailto:[EMAIL PROTECTED] > 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 [EMAIL PROTECTED] > with "unsubscribe freebsd-questions" in the body of the message -- Edmond Baroud UNIX Systems Admin mailto:[EMAIL PROTECTED] 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 [EMAIL PROTECTED] with "unsubscribe freebsd-questions" in the body of the message