| 1 | #!/bin/bash | 
|---|
| 2 | # | 
|---|
| 3 | # This script backups the databases give in setup.XXX in the array dbnames | 
|---|
| 4 | # | 
|---|
| 5 |  | 
|---|
| 6 | today=`date +%F` | 
|---|
| 7 | olday=`date +%F --date="-30day"` | 
|---|
| 8 |  | 
|---|
| 9 | source `dirname $0`/../Sourcefile.sh | 
|---|
| 10 | printprocesslog "INFO starting $0" | 
|---|
| 11 |  | 
|---|
| 12 | set -C | 
|---|
| 13 |  | 
|---|
| 14 | logfile=$runlogpath"/BackupDatabase-"$datetime".log" | 
|---|
| 15 | date >> $logfile | 
|---|
| 16 |  | 
|---|
| 17 | # store files on data | 
|---|
| 18 | path=/users/fact/DB_Backup | 
|---|
| 19 |  | 
|---|
| 20 | # getdbsetup | 
|---|
| 21 |  | 
|---|
| 22 | echo "today: $today" >> $logfile 2>&1 | 
|---|
| 23 | echo "date to remove: $olday" >> $logfile 2>&1 | 
|---|
| 24 |  | 
|---|
| 25 | printprocesslog "INFO doing backup for the following databases: "${dbnames[@]} | 
|---|
| 26 | echo "doing backup for the following databases: "${dbnames[@]}  >> $logfile 2>&1 | 
|---|
| 27 | for dbname in ${dbnames[@]} | 
|---|
| 28 | do | 
|---|
| 29 | filepath=$path/$dbname | 
|---|
| 30 | command=$filepath"/Create_"$dbname"_"$today".txt" | 
|---|
| 31 | oldcommand=$filepath"/Create_"$dbname"_"$olday".txt" | 
|---|
| 32 | mkdir -pv $filepath >> $logfile 2>&1 | 
|---|
| 33 |  | 
|---|
| 34 | file=$filepath/$dbname | 
|---|
| 35 | sqlfile=$file"_"$today".sql" | 
|---|
| 36 | oldzip=$file"_"$olday".sql.bz2" | 
|---|
| 37 |  | 
|---|
| 38 | printprocesslog "INFO removing old files..." | 
|---|
| 39 | echo "removing old files..." >> $logfile 2>&1 | 
|---|
| 40 | if ls $oldzip >/dev/null 2>&1 | 
|---|
| 41 | then | 
|---|
| 42 | rm -v $oldzip >> $logfile 2>&1 | 
|---|
| 43 | fi | 
|---|
| 44 | if ls $oldcommand >/dev/null 2>&1 | 
|---|
| 45 | then | 
|---|
| 46 | rm -v $oldcommand >> $logfile 2>&1 | 
|---|
| 47 | fi | 
|---|
| 48 |  | 
|---|
| 49 | printprocesslog "INFO writing create commands for database '"$dbname"' to "$command | 
|---|
| 50 | echo "writing create commands for database '"$dbname"' to "$command >> $logfile 2>&1 | 
|---|
| 51 | # commands to create db | 
|---|
| 52 | if ! mysqldump --host=localhost --database $dbname -u dump --no-data >| $command 2>> $logfile | 
|---|
| 53 | then | 
|---|
| 54 | printprocesslog "ERROR mysqldump failed for database '"$dbname"'" | 
|---|
| 55 | echo "ERROR mysqldump failed for "$dbname >> $logfile 2>&1 | 
|---|
| 56 | rm -v $command  >> $logfile 2>&1 | 
|---|
| 57 | fi | 
|---|
| 58 |  | 
|---|
| 59 | printprocesslog "INFO writing database '"$dbname"' to "$sqlfile | 
|---|
| 60 | echo "writing database '"$dbname"' to "$sqlfile >> $logfile 2>&1 | 
|---|
| 61 | # mysqldump of full DB | 
|---|
| 62 | if ! mysqldump --host=localhost --database $dbname -u dump >| $sqlfile 2>> $logfile | 
|---|
| 63 | then | 
|---|
| 64 | printprocesslog "ERROR mysqldump failed for database '"$dbname"'" | 
|---|
| 65 | echo "ERROR mysqldump failed for database '"$dbname"'" >> $logfile 2>&1 | 
|---|
| 66 | rm -v $sqlfile  >> $logfile 2>&1 | 
|---|
| 67 | else | 
|---|
| 68 | if ! bzip2 -9 $sqlfile >> $logfile 2>&1 | 
|---|
| 69 | then | 
|---|
| 70 | printprocesslog "ERROR zipping of "$sqlfile" failed." | 
|---|
| 71 | echo "ERROR zipping of "$sqlfile" failed."  >> $logfile 2>&1 | 
|---|
| 72 | fi | 
|---|
| 73 | fi | 
|---|
| 74 | done | 
|---|
| 75 |  | 
|---|
| 76 | dbdirwue=/home/operator/budb/fact_from_lp | 
|---|
| 77 | echo "" >> $logfile 2>&1 | 
|---|
| 78 | echo `date`": rsyncing files in "$path" to Wuerzburg (coma: "$dbdirwue")" >> $logfile 2>&1 | 
|---|
| 79 | printprocesslog "INFO rsyncing files in "$path" to Wuerzburg (coma: "$dbdirwue")" | 
|---|
| 80 |  | 
|---|
| 81 | #rsync from gate to coma | 
|---|
| 82 | if ! /usr/bin/rsync -avxP $path operator@coma.astro.uni-wuerzburg.de:$dbdirwue >> $logfile 2>&1 | 
|---|
| 83 | then | 
|---|
| 84 | echo `date`": problem rsyncing database from LP ("$path") to Wuerzburg (coma:"$dbdirwue")" | 
|---|
| 85 | printprocesslog "WARN problem rsyncing database from LP ("$path") to Wuerzburg (coma:"$dbdirwue")" | 
|---|
| 86 | fi | 
|---|
| 87 |  | 
|---|
| 88 | finish >> $logfile 2>&1 | 
|---|
| 89 |  | 
|---|