Переглянути джерело

Archive scripts initial commit

Maximilian Ronniger 7 роки тому
коміт
8cdc9af56c
3 змінених файлів з 122 додано та 0 видалено
  1. 15 0
      archivo/backupAll
  2. 67 0
      archivo/linkmaster
  3. 40 0
      archivo/md5probe

+ 15 - 0
archivo/backupAll

@@ -0,0 +1,15 @@
+#!/bin/bash
+
+base_dir=/home/dp
+
+function backup_disk {
+  if [ -e $base_dir/$1/lost+found/ ] ; then
+    echo rsync -av --delete $base_dir/$1/ $base_dir/backup/$1/ &
+  else
+    >&2 echo "Disk $base_dir/$i is not mounted, skipping backup"
+  fi
+}
+
+for i in $(seq -w 1 20); do 
+  backup_disk hdd$i
+done

+ 67 - 0
archivo/linkmaster

@@ -0,0 +1,67 @@
+#!/bin/bash
+
+
+ALL_DIRS=/home/dp/all_dirs/
+ALL_INDIA=/home/dp/all_india/
+ALL_ALL=/home/dp/all_all/
+
+cd /tmp/
+
+# all dirs
+# remove broken links
+find  -L $ALL_DIRS  -mindepth 1 -maxdepth 1 -type l -exec echo unlink \"{}\" > unlink.sh  \;
+chmod +x unlink.sh
+./unlink.sh 2> /dev/null
+
+# (re)generate links for dirs
+find  /home/dp/hdd0?/     -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS >  link_dirs.sh \;
+find  /home/dp/hdd1[0-7]/ -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS >> link_dirs.sh \;
+chmod +x link_dirs.sh
+./link_dirs.sh 2> /dev/null
+
+# (re)generate links for files
+find  /home/dp/hdd0?/     -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS >  link_files.sh \;
+find  /home/dp/hdd1[0-7]/ -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS >> link_files.sh \;
+chmod +x link_files.sh
+sudo -u dp /tmp/link_files.sh 2> /dev/null
+
+
+# all india
+# remove broken links
+find  -L $ALL_INDIA  -mindepth 1 -maxdepth 1 -type l -exec echo unlink \"{}\" > unlink.sh  \;
+chmod +x unlink.sh
+./unlink.sh 2> /dev/null
+
+# (re)generate links for dirs
+find  /home/dp/hdd2[1-9]/SYHD_*/ -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india.sh \;
+find  /home/dp/hdd3[0-2]/SYHD_*/ -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india.sh \;
+chmod +x link_india.sh
+./link_india.sh 2> /dev/null
+
+# (re)generate links for files
+find  /home/dp/hdd2[1-9]/SYHD_*/ -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india_files.sh \;
+find  /home/dp/hdd3[0-2]/SYHD_*/ -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india_files.sh \;
+chmod +x link_india_files.sh
+sudo -u dp /tmp/link_india_files.sh 2> /dev/null
+
+# all all
+# remove broken links
+find  -L $ALL_ALL  -mindepth 1 -maxdepth 1 -type l -exec echo unlink \"{}\" > unlink.sh  \;
+chmod +x unlink.sh
+./unlink.sh 2> /dev/null
+# reuse the link scripts we generated bevore
+cat link_dirs.sh link_india.sh > link_all.sh
+cat link_files.sh link_india_files.sh > link_all_files.sh
+sed -i -e s/all_dirs/all_all/g  link_all.sh
+sed -i -e s/all_india/all_all/g link_all.sh
+sed -i -e s/all_dirs/all_all/g  link_all_files.sh
+sed -i -e s/all_india/all_all/g link_all_files.sh
+chmod +x link_all.sh
+./link_all.sh 2> /dev/null
+chmod +x link_all_files.sh
+sudo -u dp /tmp/link_all_files.sh 2> /dev/null
+
+# cleanup scriptfiles
+rm unlink.sh link_dirs.sh link_files.sh link_india.sh link_india_files.sh link_all.sh link_all_files.sh
+
+exit 0

+ 40 - 0
archivo/md5probe

@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# config
+base_dir=/home/dp/all_dirs
+sum_dir=$base_dir/_md5_check/sums
+log_dir=$base_dir/_md5_check/$(date +%Y%m%d)
+
+# functions
+function check_md5 {
+  my_stdout=$log_dir/${1:0: -4}_stdout.txt
+  my_stderr=$log_dir/${1:0: -4}_stderr.txt
+  my_time=$log_dir/${1:0: -4}_time.txt
+  my_analyse=$log_dir/${1:0: -4}_analysis.txt
+
+  cd $base_dir
+
+  (time md5sum -c $sum_dir/${1} > $my_stdout 2> $my_stderr) 2> $my_time
+  grep -v OK $my_stdout > $my_analyse
+}
+
+# main program
+mkdir $log_dir
+cd $sum_dir
+
+for i in a0[1-6]*.md5; do
+  check_md5 $i &
+done
+
+wait
+
+for i in a0[7-9]*.md5 a1[0-2]*.md5; do
+  check_md5 $i &
+done
+
+wait
+
+for i in a1[3-7]*.md5; do
+  check_md5 $i &
+done
+