f96e2fbc39f070286f1f5242990932c9404b163d
[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 | awk '{ print $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 posible 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                                 detect
37                         else
38                                 txt="`grep ^# ~/.backup | cut -d ' ' -f 2-`"
39                                 if [ -z "`cat ~/.backup | grep ^off`" ]; then
40                                         echo
41                                         echo backup activated, $txt
42                                         detect
43                                 else
44                                         echo
45                                         echo backup rejected, $txt
46                                         detect "kill"
47                                 fi
48                         fi
49                         ;;
50                 off)
51                         echo "# disabled at `date`" > ~/.backup
52                         echo "off" >> ~/.backup
53                         detect "kill"
54                         ;;
55                 on)
56                         echo "# enabled at `date`" > ~/.backup
57                         echo "on" >> ~/.backup
58                         ;;
59                 *)
60                         echo -en "\nusage:\n$0 [status|off|on]\n\n"
61                         ;;
62         esac
63 #fi
64