View Single Post
  #2   (View Single Post)  
Old 6th February 2010
J65nko J65nko is offline
Administrator
 
Join Date: May 2008
Location: Budel - the Netherlands
Posts: 4,128
Default Similar but now archive a directory and it's contents

The OpenBSD snapshots that I download by default end up in a directory Snapshots. To archive them before fetching a new snapshot, I use this script.

Code:
#!/bin/sh
# archive OpenBSD snapshots
# use the bsd.rd date in name of backup

DIR=Snapshots
BUPDIR=Snap-archive

if [ ! -d ${DIR} ] ; then
   echo "$0: Sorry no directory ${DIR} found!"
   exit 1
fi

mkdir -p ${BUPDIR}

# ls -lT Snapshots/bsd.rd
# -rw-r--r--  1 j65nko  j65nko  2162 Jan 28 18:10:51 2010 Snapshots/bsd.rd
#    1        2   3       4      5    6   7    8      9     10
listing=$(ls -lT ${DIR}/bsd.rd)

DIRnew=$(echo ${listing} | awk '{ printf("%s_%s_%02u_%s") , $9,$6,$7,$8 }')
#echo $DIRnew
#exit


# rename $DIR 
mv ${DIR} ${DIRnew}
# move renamed directory into archive directory
mv ${DIRnew} ${BUPDIR}/${DIRnew}

ls -l ${BUPDIR} ${BUPDIR}/${DIRnew}

# -- end of file
The similarities with the script in the previous script are obvious.
The output when run with the -vx shell options:

Code:
sh -vx arch-snap                                                     
#!/bin/sh
# archive OpenBSD snapshots
# use the bsd.rd date in name of backup

DIR=Snapshots
+ DIR=Snapshots
BUPDIR=Snap-archive
+ BUPDIR=Snap-archive

if [ ! -d ${DIR} ] ; then
   echo "$0: Sorry no directory ${DIR} found!"
   exit 1
fi
+ [ ! -d Snapshots ]

mkdir -p ${BUPDIR}
+ mkdir -p Snap-archive

# ls -lT Snapshots/bsd.rd
# -rw-r--r--  1 j65nko  j65nko  2162 Jan 28 18:10:51 2010 Snapshots/bsd.rd
#    1        2   3       4      5    6   7    8      9     10
listing=$(ls -lT ${DIR}/bsd.rd)
+ ls -lT Snapshots/bsd.rd
+ listing=-rw-r--r--  1 j65nko  j65nko  6244738 Feb  3 15:49:19 2010 Snapshots/bsd.rd

DIRnew=$(echo ${listing} | awk '{ printf("%s_%s_%02u_%s") , $9,$6,$7,$8 }')
+ echo -rw-r--r-- 1 j65nko j65nko 6244738 Feb 3 15:49:19 2010 Snapshots/bsd.rd
+ awk { printf("%s_%s_%02u_%s") , $9,$6,$7,$8 }
+ DIRnew=2010_Feb_03_15:49:19
#echo $DIRnew
#exit


# rename $DIR 
mv ${DIR} ${DIRnew}
+ mv Snapshots 2010_Feb_03_15:49:19
# move renamed directory into archive directory
mv ${DIRnew} ${BUPDIR}/${DIRnew}
+ mv 2010_Feb_03_15:49:19 Snap-archive/2010_Feb_03_15:49:19

ls -l ${BUPDIR} ${BUPDIR}/${DIRnew}
+ ls -l Snap-archive Snap-archive/2010_Feb_03_15:49:19
Snap-archive:
total 12
drwxr-xr-x  2 j65nko  j65nko  512 Feb  6 03:51 2010_Feb_03_15:49:19
drwxr-xr-x  2 j65nko  j65nko  512 Feb  5 01:22 2010_Feb_05_01:22:00
drwxr-xr-x  2 j65nko  j65nko  512 Feb  5 01:13 2010_Jan_28_18:10:51

Snap-archive/2010_Feb_03_15:49:19:
total 503352
-rw-r--r--  1 j65nko  j65nko     97601 Feb  3 15:48 INSTALL.i386
-rw-r--r--  1 j65nko  j65nko      7553 Feb  5 01:40 Logfile
-rw-r--r--  1 j65nko  j65nko      2162 Feb  3 15:49 SHA256
-rw-r--r--  1 j65nko  j65nko  50381006 Feb  3 15:49 base47.tgz
-rw-r--r--  1 j65nko  j65nko   7510284 Feb  3 15:49 bsd
-rw-r--r--  1 j65nko  j65nko   7529736 Feb  3 15:49 bsd.mp
-rw-r--r--  1 j65nko  j65nko   6244738 Feb  3 15:49 bsd.rd
-rw-r--r--  1 j65nko  j65nko  92614312 Feb  3 15:49 comp47.tgz
-rw-r--r--  1 j65nko  j65nko    522115 Feb  3 15:49 etc47.tgz
-rw-r--r--  1 j65nko  j65nko   1474560 Feb  3 15:49 floppy47.fs
-rw-r--r--  1 j65nko  j65nko   1474560 Feb  3 15:49 floppyB47.fs
-rw-r--r--  1 j65nko  j65nko   1474560 Feb  3 15:49 floppyC47.fs
-rw-r--r--  1 j65nko  j65nko   9446489 Feb  3 15:48 man47.tgz
-rw-r--r--  1 j65nko  j65nko    364768 Feb  3 15:48 misc47.tgz
-rw-r--r--  1 j65nko  j65nko     53532 Feb  3 15:49 pxeboot
-rw-r--r--  1 j65nko  j65nko      4058 Feb  5 06:07 site47.tgz
-rw-r--r--  1 j65nko  j65nko  15547766 Feb  3 15:49 xbase47.tgz
-rw-r--r--  1 j65nko  j65nko     70003 Feb  3 15:49 xetc47.tgz
-rw-r--r--  1 j65nko  j65nko  39684911 Feb  3 15:49 xfont47.tgz
-rw-r--r--  1 j65nko  j65nko  19880621 Feb  3 15:49 xserv47.tgz
-rw-r--r--  1 j65nko  j65nko   2946035 Feb  3 15:49 xshare47.tgz

# -- end of file
__________________
You don't need to be a genius to debug a pf.conf firewall ruleset, you just need the guts to run tcpdump
Reply With Quote