File: make_backup.csh

package info (click to toggle)
afbackup 3.1beta1-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,500 kB
  • ctags: 1,685
  • sloc: ansic: 22,406; csh: 3,597; tcl: 964; sh: 403; makefile: 200
file content (67 lines) | stat: -rwxr-xr-x 1,114 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#! /bin/csh -f

set full=0

if ($#argv > 0) then
  if ("$1" == "-f") then
    set full=1;
  else
    echo 'usage: '$0' [ -f ]'
    exit 1
  endif
endif

if (! $?BACKUP_HOME) then
  set pnam=$0
  set pnam = $pnam:t
  if ($pnam == $0 || ./$pnam == $0) then
    set p=`which $0`
    if ($p == ./$pnam) then
      set p=`pwd`
      setenv BACKUP_HOME  $p:h
    else
      set p=$p:h
      setenv BACKUP_HOME  $p:h
    endif
  else
    if (`echo $0|cut -c1` != "/") then
      set p=`pwd`/$0
    else
      set p=$0
    endif
    set p=$p:h
    setenv BACKUP_HOME $p:h
  endif
endif

set path=($BACKUP_HOME/bin $path)
rehash

set logfile="`getparam LoggingFile`"

touch $logfile
echo `date`: starting backup >> $logfile

set d=`date|awk '{print $1}'`
set n=`date|awk '{print $3}'`

if (! -e $BACKUP_HOME/var/oldmark || $full) then
  full_backup
else
  if (($n >= 1 && $n <= 7) || ($n >= 15 && $n <= 21)) then
    switch ($d)
      case F*:
	full_backup
	breaksw
      case Mo*:
      case T*:
      case W*:
	incr_backup
	breaksw
    endsw
  else
    incr_backup
  endif
endif

echo `date`: backup finished >> $logfile