my backup script, I added a usb to it but it fails to created directory. I changed the ssd to 775 and still nope.
it works fine on going to my other drive on my laptop though. creates directories without error.
Code:
+ rsync -av --info=progress --exclude=lost+found --exclude=.cache --exclude=snap --exclude=.dbus /home/userx1 /run/media/userx/backup/HomeBackUps/Ubuntu/
sending incremental file list
rsync: [Receiver] mkdir "/run/media/userx/backup/HomeBackUps/Ubuntu" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(791) [Receiver=3.2.7]
+ echo /run/media/userx/backup/HomeBackUps/Ubuntu/userx1
/run/media/userx/backup/HomeBackUps/Ubuntu/userx1
the script
Code:
#!/usr/bin/env bash
set -x
ck_for_OS()
{
if [[ -f /etc/slackware-version ]] ; then
distroname=$(sed 's/Slackware /Slackware-/' /etc/slackware-version)
elif [[ "FreeBSD" =~ "$( awk 'NR==1{print $1}' /etc/*release | cut -d = -f2 | xargs)" ]] ; then
distroname="$(uname -a | awk '{print $1 "-" $3}')"
$HOME/bin/fbsd/mountdrives
else
distroname=$( awk 'NR==1{print $1}' /etc/*release | cut -d = -f2 | xargs)
fi
sorce="$HOME"
dest="/media/storage/HomeBackUps/$distroname/"
if [[ -d /media/storage ]] ; then
mkdir -pv "$dest"
else
echo "directory /media/storage not present .. exiting..."
exit
fi
if [[ -f /etc/secondinstall ]] ; then
dest="/media/storage/HomeBackUps/2nd-install-$distroname"
sudo mkdir -p "$dest"
fi
}
go_4_distro()
{
if [[ "$distroname" =~ "FreeBSD" ]] ; then
sudo rsync -av --files-from=$HOME/bin/fbsd/fbsd-backup-list / $dest
sudo chown -R $USER:$USER "$dest"
elif [[ "$distroname" =~ "Ubuntu" ]] ; then
sudo rsync -av --files-from=$HOME/bin/linux-backup-list / $dest
sudo chown -R $USER:$USER "$dest"
elif [[ "$distroname" =~ "Slackware" ]] ; then
sudo rsync -av --files-from=$HOME/bin/linux-backup-list / $dest
sudo chown -R $USER:users "$dest"
fi
}
sync_me()
{
rsync -av --info=progress --exclude="lost+found" --exclude=".cache" --exclude="snap" --exclude=".dbus" "$sorce" "$dest"
echo "$dest$USER"
}
ck_for_OS
go_4_distro
sync_me
if mount | grep -q 'on /run/media/userx' &&
[[ -f /run/media/$USER/backup/bkup ]] ||
[[ -f /media/$USER/backup/bkup ]] ; then
dest="/run/media/userx/backup/HomeBackUps/$distroname/"
go_4_distro
sync_me
else
echo "No usb inserted..."
exit
fi