Need help with backup shell script
Andreas Widerøe Andersen
wodfer at gmail.com
Wed Jan 16 07:43:01 PST 2008
On Nov 21, 2007 2:55 PM, Valerio Daelli <valerio.daelli at gmail.com> wrote:
> On Nov 21, 2007 2:39 PM, Andreas Widerøe Andersen <wodfer at gmail.com>
> wrote:
> > Hi,
> >
> > I'm working on a shell script that will let me attach (mount) an
> > external USB 2.0 harddrive and to my FreeBSD 6.2 server and perform a
> > full backup of /backup on my server (all files and subfolders) once or
> > twice a week (whenever I run the cronjob). The script must be able to
> > run through a cronjob and the drive must be mounted and unmounted
> > after each job (I will swap between two drives of the same type and
> > size). The script must also remove folders/files older than 30 days.
> >
> > Does anyone use a script like this today that they can share? I'm not
> > a shell scripter myself so any help is highly appreciated.
> >
> > Here's my rough idea/sketch:
> >
> > #! /bin/sh
> >
> > $MOUNT = /external
> > $DATE= date_today
> >
> > mount usb_drive $MOUNT
> > cd /$MOUNT
> > rm all files forlders older than 30 days
> > mkdir /$DATE
> > cp -fr /backup to /$MOUNT/$DATE
> > cd
> > unmount
> >
> >
> ---
> #!/bin/sh
>
> MOUNT=/external
> DATE=`date +%Y%m%d%H%M`
>
> mount /dev/da2 $MOUNT #Change device name
> find $MOUNT -mtime +30 -delete
> mkdir $MOUNT/$DATE
> cp -rp /backup/* $MOUNT/$DATE
> umount /external
> ---
>
> Bye
>
> Valerio Daelli
>
Hi again and thanks for the replies to my question.
I have finally rebuilt world and compiled a new kernel since I didn't have
USB support and SCSI/da support in my previous kernel. I have also used your
suggestion and created this script that I can run from command line or as a
cronjob:
#!/bin/sh
MOUNT=/external
DATE=`date +%Y%m%d%H%M`
mount /dev/da0 $MOUNT #Change device name
find $MOUNT -mtime +30 -delete
mkdir $MOUNT/$DATE
rsync -rlpgoD /backup/ $MOUNT/$DATE
umount /external
dmesg shows:
umass0: Generic USB Storage Device, rev 2.00/0.00, addr 2
umass0: Get Max Lun not supported (TIMEOUT)
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <SAMSUNG HD501LJ 0-10> Fixed Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 476940MB (976773168 512 byte sectors: 255H 63S/T 60801C)
When I try to run my script I get this prompt back:
mount: /dev/da0 on /external: incorrect super block
(allthough the script seems to continue to run).
Am I doing something wrong here or do I need to I need to use one of the
other from /dev:
ls -la /dev
[snip]
crw-r----- 1 root operator 0, 92 Jan 12 03:42 da0
crw-r----- 1 root operator 0, 93 Jan 12 03:28 da0s1
crw-r----- 1 root operator 0, 98 Jan 12 03:28 da0s1c
crw-r----- 1 root operator 0, 99 Jan 12 03:28 da0s1d
Thanks for any help here!
Best regards,
Andreas
More information about the freebsd-questions
mailing list