source: branches/samba-3.0/source/script/smbtar@ 403

Last change on this file since 403 was 1, checked in by Paul Smedley, 19 years ago

Initial code import

File size: 4.8 KB
Line 
1#!/bin/sh
2#
3# smbtar script - front end to smbclient
4#
5# Authors: Martin.Kraemer <[email protected]>
6# and Ricky Poulten ([email protected])
7#
8# (May need to change shell to ksh for HPUX or OSF for better getopts)
9#
10# sandy nov 3 '98 added -a flag
11#
12# Richard Sharpe, added -c 'tarmode full' so that we back up all files to
13# fix a bug in clitar when a patch was added to stop system and hidden files
14# being backed up.
15
16case $0 in
17 # when called by absolute path, assume smbclient is in the same directory
18 /*)
19 SMBCLIENT="`dirname $0`/smbclient";;
20 *) # you may need to edit this to show where your smbclient is
21 SMBCLIENT="smbclient";;
22esac
23
24# These are the default values. You could fill them in if you know what
25# you're doing, but beware: better not store a plain text password!
26server=""
27service="backup" # Default: a service called "backup"
28password=""
29username=$LOGNAME # Default: same user name as in *nix
30verbose="2>/dev/null" # Default: no echo to stdout
31log="-d 2"
32newer=""
33newerarg=""
34blocksize=""
35blocksizearg=""
36clientargs="-c 'tarmode full'"
37tarcmd="c"
38tarargs=""
39cdcmd="\\"
40tapefile=${TAPE-tar.out}
41
42Usage(){
43 ex=$1
44 shift
45echo >&2 "Usage: `basename $0` [<options>] [<include/exclude files>]
46Function: backup/restore a Windows PC directories to a local tape file
47Options: (Description) (Default)
48 -r Restore from tape file to PC Save from PC to tapefile
49 -i Incremental mode Full backup mode
50 -a Reset archive bit mode Don't reset archive bit
51 -v Verbose mode: echo command Don't echo anything
52 -s <server> Specify PC Server $server
53 -p <password> Specify PC Password $password
54 -x <share> Specify PC Share $service
55 -X Exclude mode Include
56 -N <newer> File for date comparison `set -- $newer; echo $2`
57 -b <blocksize> Specify tape's blocksize `set -- $blocksize; echo $2`
58 -d <dir> Specify a directory in share $cdcmd
59 -l <log> Specify a Samba Log Level `set -- $log; echo $2`
60 -u <user> Specify User Name $username
61 -t <tape> Specify Tape device $tapefile
62"
63 echo >&2 "$@"
64 exit $ex
65}
66
67# echo Params count: $#
68
69# DEC OSF AKA Digital UNIX does not seem to return a value in OPTIND if
70# there are no command line params, so protect us against that ...
71if [ $# = 0 ]; then
72
73 Usage 2 "Please enter a command line parameter!"
74
75fi
76
77while getopts riavl:b:d:N:s:p:x:u:Xt: c; do
78 case $c in
79 r) # [r]estore to Windows (instead of the default "Save from Windows")
80 tarcmd="x"
81 ;;
82 i) # [i]ncremental
83 tarargs=${tarargs}ga
84 clientargs="-c 'tarmode inc'"