r85: Dodane -d i -n opcije za cp_backup_conffile.
authorZoran Dzelajlija <Zoran.Dzelajlija@CARNet.hr>
Fri, 28 Oct 2005 10:08:02 +0000 (10:08 +0000)
committerZoran Dzelajlija <Zoran.Dzelajlija@CARNet.hr>
Fri, 28 Oct 2005 10:08:02 +0000 (10:08 +0000)
carnet-tools.7
changelog.CARNet
functions.sh

index 4caa4a9..ac445ec 100644 (file)
@@ -62,7 +62,7 @@ naveden kao argument, vraca IP adresu od loopback sucelja (lo).
 Funkcija vraca IP netmask mreznog sucelja. U slucaju da nije\r
 naveden kao argument, vraca IP netmask od loopback sucelja (lo).\r
 .TP\r
-\fBcp_get_ifdefault\fR [\fBdev\fR|\fBaddr\fR]\r
+\fBcp_get_ifdefault\fR <\fBdev\fR|\fBaddr\fR>\r
 Funkcija vraca naziv uredjaj ili adresu podrazumne rute (default\r
 route).\r
 .TP\r
@@ -72,14 +72,16 @@ da nije naveden \fIinterface\fR argument, vraca CIDR sucelja preko
 kojeg ide default route, a ako isti nije definiran, vraca CIDR\r
 loopback sucelja (lo).\r
 .TP\r
-\fBcp_backup_conffile\fR \fIfile\fR [\fIbackup_file\fR]\r
+\fBcp_backup_conffile\fR [\fB-n\fR] [\fB-d\fR \fIbackup_dir\fR] \fIfile\fR [\fIbackup_file\fR]\r
 .TP\r
-\fBcp_check_and_backup\fR \fIfile\fR [\fIbackup_file\fR]\r
+\fBcp_check_and_backup\fR [\fB-n\fR] [\fB-d\fR \fIbackup_dir\fR] \fIfile\fR [\fIbackup_file\fR]\r
 Funkcije backupiraju datoteku, kopija originala se sprema\r
 u /var/backups/ direktorij sa dodanim .bak nastavkom.  Po potrebi se vrsi\r
 rotacija prethodno spremljenih kopija ako postoje neke razlike.  Opcionalni\r
 argument \fIbackup_file\fR zamjenuje ime backup datoteke u /var/backups \r
-nekim drugim.  Na primjer:\r
+nekim drugim.  Opcijom \fB-d\fR se moze podesiti alternativno odrediste, bilo \r
+apsolutnom putanjom do zeljenog direktorija ili relativnom unutar /var/backups.\r
+Opcija \fB-n\fR sprecava dodavanje .bak nastavka.  Na primjer:\r
 .nf\r
 cp_backup_conffile config.php\r
 .fi\r
@@ -88,6 +90,9 @@ cp_backup_conffile config.php
 cp_backup_conffile apache.conf squirrelmail-apache.conf\r
 .fi\r
   - backup ide u /var/backups/squirrelmail-apache.conf.bak\r
+cp_backup_conffile -n -d aai preinstall.ldif\r
+.fi\r
+  - backup ide u /var/backups/aai/preinstall.ldif\r
 cp_backup_conffile uspjesno zavrsi ako nije bilo potrebno izvrsiti backup, \r
 dok cp_check_and_backup u tom slucaju vraca status 3.\r
 .TP\r
@@ -98,7 +103,7 @@ koristi za zamjenu stare vrijednosti postavke novom.
 .TP\r
 \fBcp_echo\fR [\fB-mailonly\fR|\fB-m\fR] \fIstring\fR\r
 .TP\r
-\fBcp_mail\fR [\fB-q\fR] \fIpackage\fR \fIversion\fR\r
+\fBcp_mail\fR [\fB-q\fR] \fIpackage\fR [\fIversion\fR]\r
 U kombinaciji, ove funkcije sluze za slanje poruka na stdout \fUi\fR na\r
 mail rootu.  Koristiti za informacije koje svakako treba dostaviti\r
 sistemcu (passwordi, nekompatibilne izmjene u konfiguraciji\r
index 1b6eb63..da12918 100644 (file)
@@ -1,3 +1,9 @@
+carnet-tools-cn (2.5) sarge; urgency=low
+
+  * Dodane -n i -d <backup_dir> opcije za cp_backup_conffile.
+
+ -- Zoran Dzelajlija <jelly@srce.hr>  Fri, 28 Oct 2005 11:54:24 +0200
+
 carnet-tools-cn (2.4.3) sarge; urgency=low
 
   * Inicijalizacija pomocne $CP_ECHO_RETURN varijable.
index 4390978..0813756 100644 (file)
@@ -159,12 +159,36 @@ cp_check_and_backup() {
 cp_backup_conffile() {
   [ "$CP_SCRIPT_DEBUG" ] && set -vx
 
-  local file_bak check did
+  local dir ext file_bak check did
   
-  if [ "x$1" = "x-r" ]; then
-    check=1
-    shift
-  fi
+  dir=/var/backups
+  ext=.bak
+  
+  while echo "x$1" |grep -q '^x-'; do
+    case "$1" in
+    -r)
+      shift
+      check=1
+      ;;
+    -d)
+      shift
+      # is argument to -d full path or relative?
+      if echo "$1" |grep -q '^/'; then
+        dir="$1"
+      else
+        dir="$dir/$1"
+      fi
+      shift
+      if [ ! -d "$dir" ]; then
+        echo "cp_backup_conffile: Invalid backup directory $dir" 1>&2
+        return 3
+      fi
+      ;;
+    -n)
+      shift
+      ext=
+    esac
+  done
   if [ -z "$1" ]; then
     return 1
   fi
@@ -173,9 +197,9 @@ cp_backup_conffile() {
     return 2
   fi
   if [ -z "$2" ]; then
-    file_bak="/var/backups/`basename $1`.bak"
+    file_bak="$dir/`basename $1`$ext"
   else
-    file_bak="/var/backups/`basename $2`.bak"
+    file_bak="$dir/`basename $2`$ext"
   fi
 
   if [ ! -f "$file_bak" ]; then