用途:文件備份
描述:備份文件和目錄,並將備份文件傳送到windows的腳本。
用法:腳本名 /home backup abc123 //server2000/backup
#!/bin/bash
# what do you want back
FROM=$1
# NT Connection Info #
# NT Username
NTUSER=$2
# NT Password
NTPASSWD=$3
# NT ShareName i.e //server/backup etc
NTSHARE="$4"
# BackUpDir Name
BACKDIR="$(hostname -s)"
# Local mount point
MNT="/mnt/smbbox"
# Get date and time
NOW=$(date +"%m-%d-%Y-%I_%M%P")
# backup file name
BAKFILE="backup.$NOW.tar.gz"
if [ "$#" != "4" ]; then
echo "Syntax:"
echo "$(basename $0) {Linux-directory} {NTusername} {NTpassword} {//NTserver/share-name}"
exit 1
fi
# make sure $from do exits
if [ ! -d $FROM ]; then
echo "Backup source directory "$FROM" does NOT exist"
exit 2
fi
#Create tar to backup first
tar -czf /tmp/$BAKFILE $FROM
#Mount the smb to /mnt
[ ! -d $MNT ] && mkdir -p $MNT || :
mount -t smbfs -o username=$NTUSER,password=$NTPASSWD $NTSHARE $MNT
[ ! -d $MNT/$BACKDIR ] && mkdir -p $MNT/$BACKDIR || :
# Copy new tar to ntbox
cp /tmp/$BAKFILE $MNT/$BACKDIR
# Send sync aka force to write data before issuing umount
sync
# issue umount
umount $MNT