Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jan 2008 16:13:57 +0100
From:      "=?ISO-8859-1?Q?Andreas_Wider=F8e_Andersen?=" <wodfer@gmail.com>
To:        "Valerio Daelli" <valerio.daelli@gmail.com>
Cc:        freebsd-questions <freebsd-questions@freebsd.org>
Subject:   Re: Need help with backup shell script
Message-ID:  <23ed14b80801160713q10606d2es21e869f935b22257@mail.gmail.com>
In-Reply-To: <27dbfc8c0711210555h1a862f5drccb1a6f5bcb1a837@mail.gmail.com>
References:  <23ed14b80711210539w4bed1enc180f8e32ec76881@mail.gmail.com> <27dbfc8c0711210555h1a862f5drccb1a6f5bcb1a837@mail.gmail.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Nov 21, 2007 2:55 PM, Valerio Daelli <valerio.daelli@gmail.com> wrote:

> On Nov 21, 2007 2:39 PM, Andreas Wider=F8e Andersen <wodfer@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 =3D /external
> > $DATE=3D 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=3D/external
> DATE=3D`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 you=
r
suggestion and created this script that I can run from command line or as a
cronjob:

#!/bin/sh

MOUNT=3D/external
DATE=3D`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



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?23ed14b80801160713q10606d2es21e869f935b22257>