On 07/08/2020 21:01, Haines Brown wrote:
> On Fri, Aug 07, 2020 at 06:34:04PM +0100, g4sra wrote:
> 
>> Post your backup script for others to look over.
> 
> 
> #!/bin/bash
> a="============================================="
> b="Start: "
> c=$(date)
> mount /mnt/backup &
    ^^^^^^^^^^^^
1) Don't do this in the background, script execution will proceed straight into 
the 'find' command below before the mount is ready.

2) Ensure you are mounting using 'ntfs-3g' or you will get a large performance 
hit and unsafe writes (last time I checked the Docs).
E.g. /etc/fstab
   /dev/XXX /mnt/backup ntfs-3g defaults 0 0
Or in the script
  'ntfs-3g /dev/XXX /mnt/backup

3) abort if the mount fails
[ $? -eq 0 ] || {echo "Mount Failed!"; exit 1;}

> find /mnt/backup/20* -maxdepth 0 -type d | sort -n | head -n 1 | xargs rm -rfv
> sleep 3s
> dirName=`date +%Y.%m.%d`
> mkdir /mnt/backup/"$dirName"
> find / -print | egrep 
> "^/mnt^/var^/mail|^/home|^/etc|^/opt|^/storage|^/info|^/usr/local" | cpio 
> -pdmuv /mnt/backup/"$dirName" 2>&1 | cat -vT 
> d="End:"
> e=$(date +%H:%M:%S)
> f="Disk used: "
> g=`df /mnt/backup | tail -n 1 | awk '{print $5}'`
> printf "$a \n $b $c \n $d $e \n $f %s\n" "$g" >> /home/haines/.backup.log


You are backing up files that have not changed since the last backup.
Do you really need all of that kerfuffle ?

As an example I use:

#!/bin/bash -e
# exclude paths are relative to the '/home/user/' source path e.g 
'/home/user/.cache/'
ionice -c Best-effort -n 7 -t rsync -abv --delete --backup-dir 
/mnt/backup/history/user.$(date +%Y%m%d%H%M)  --exclude='/.cache/*' /home/user/ 
/mnt/backup/home/user/


You could do worse than read the man page for 'rsync'
Experienced others on the list please chime in and pick up\holes in anything I 
have missed...


_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to