1315f84a4ab43b35fa0363fb5f1c63f6518b0114
[outofuni/backup.git] / bin / backupctrl
1 #!/bin/bash
2
3 op="pusage"
4
5 function detect() {
6         IFS=$'\n'
7         for psline in `ps -ef | grep [r]sync`; do
8                 ppid="`echo $psline | cut -d ' ' -f 2`"
9                 pptime=`echo $psline | \
10                         sed 's/.*[0-9] \([0-9][0-9]:[0-9][0-9]\) \?.*/\1/'`
11                 ppcmd="`echo $psline | \
12                         sed 's/.*\(rsync .*\)/\1/'`"
13                 echo
14                 echo detected possible backup process $ppid started at $pptime
15                 echo
16                 if [ ! -z "$1" ]; then
17                 if [ "$1" = "kill" ]; then
18                         echo -en "want me to kill it? [y/N]: "
19                         read answer
20                         echo
21                         if [ "$answer" = "y" ]; then
22                                 kill -9 $ppid
23                         fi
24                 fi
25                 fi
26         done
27         IFS=""
28 }
29
30 #if [ $# = 1 ]; then
31         case $1 in
32                 status)
33                         if [ ! -f ~/.backup ]; then
34                                 echo
35                                 echo "backup activated (no rejection file)"
36                                 echo
37                                 detect
38                         else
39                                 txt="`grep ^# ~/.backup | cut -d ' ' -f 2-`"
40                                 if [ -z "`cat ~/.backup | grep ^off`" ]; then
41                                         echo
42                                         echo backup activated, $txt
43                                         echo
44                                         detect
45                                 else
46                                         echo
47                                         echo backup rejected, $txt
48                                         echo
49                                         detect "kill"
50                                 fi
51                         fi
52                         ;;
53                 off)
54                         echo "# disabled at `date`" > ~/.backup
55                         echo "off" >> ~/.backup
56                         detect "kill"
57                         ;;
58                 on)
59                         echo "# enabled at `date`" > ~/.backup
60                         echo "on" >> ~/.backup
61                         ;;
62                 *)
63                         echo -en "\nusage:\n$0 [status|off|on]\n\n"
64                         ;;
65         esac
66 #fi
67