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: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?23ed14b80801160713q10606d2es21e869f935b22257>