#!/bin/bash # Shell script to backup directories from Linux server to Windows 2000/NT Server. # Run it as follows # Scriptname /home backup abc123 //server2000/backup # Backup /home directory from Linux box to NT/2000 box called # 'server2000' in share called '/backup' with username # 'backup' and password 'abc123' # -------------------------------------------------------------------- # This is a free shell script under GNU GPL version 2.0 or above # Copyright (C) 2005 nixCraft project # Feedback/comment/suggestions : http://cyberciti.biz/fb/ # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- # backup what? 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
Get the latest tutorials on SysAdmin, Linux/Unix, Open Source, and DevOps topics:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 4 comments... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
This post is kind of old. Are you still taking comments?
I`ll look your web. Thanks for the script!
Saludos!
Mike,
Thanks for the heads up.
[ ! -d $MNT/$BACKUPDIR ] && mkdir -p $MNT/$BACKDIR || :
should be
[ ! -d $MNT/$BACKDIR ] && mkdir -p $MNT/$BACKDIR || :
no?