/[dtapublic]/projs/trunk/projs/20161029_server_scripts_automaint_cron/backup_ashley_david_pers_full
ViewVC logotype

Diff of /projs/trunk/projs/20161029_server_scripts_automaint_cron/backup_ashley_david_pers_full

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 58 by dashley, Sat Oct 29 20:47:33 2016 UTC revision 60 by dashley, Sat Oct 29 21:06:08 2016 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  #-------------------------------------------------------------------------------------------------  #-------------------------------------------------------------------------------------------------
3  #$Header$  #$Header$
4  #-------------------------------------------------------------------------------------------------  #-------------------------------------------------------------------------------------------------
5  #This file is part of "Server Scripts, Automatic Maintenance, Cron", a set of scripts for  #This file is part of "Server Scripts, Automatic Maintenance, Cron", a set of scripts for
6  #performing automatic periodic maintenance on a Linux server.  #performing automatic periodic maintenance on a Linux server.
7  #-------------------------------------------------------------------------------------------------  #-------------------------------------------------------------------------------------------------
8  #This source code and any program in which it is compiled/used is provided under the MIT License,  #This source code and any program in which it is compiled/used is provided under the MIT License,
9  #reproduced below.  #reproduced below.
10  #-------------------------------------------------------------------------------------------------  #-------------------------------------------------------------------------------------------------
11  #Permission is hereby granted, free of charge, to any person obtaining a copy of  #Permission is hereby granted, free of charge, to any person obtaining a copy of
12  #this software and associated documentation files(the "Software"), to deal in the  #this software and associated documentation files(the "Software"), to deal in the
13  #Software without restriction, including without limitation the rights to use,  #Software without restriction, including without limitation the rights to use,
14  #copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the  #copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the
15  #Software, and to permit persons to whom the Software is furnished to do so,  #Software, and to permit persons to whom the Software is furnished to do so,
16  #subject to the following conditions :  #subject to the following conditions :
17  #  #
18  #The above copyright notice and this permission notice shall be included in all  #The above copyright notice and this permission notice shall be included in all
19  #copies or substantial portions of the Software.  #copies or substantial portions of the Software.
20  #  #
21  #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22  #IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  #IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  #FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE  #FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
24  #AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  #AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  #LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,  #LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26  #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE  #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27  #SOFTWARE.  #SOFTWARE.
28  #-------------------------------------------------------------------------------------------------  #-------------------------------------------------------------------------------------------------
29  #Full monthly backup Dave Ashley's server content.  #Full monthly backup Dave Ashley's server content.
30  #  #
31  echo "Performing full backup of all Dave Ashley's server content."  echo "Performing full backup of all Dave Ashley's server content."
32  #  #
33  #Change to a safe working directory in case something goes wrong,  #Change to a safe working directory in case something goes wrong,
34  #especially a failed cd followed by a mass delete.  #especially a failed cd followed by a mass delete.
35  cd /root/cronjob_sandbox  cd /root/cronjob_sandbox
36  #  #
37  #Make the directory.  #Make the directory.
38  mkdir /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}  mkdir /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}
39  #  #
40  #Make MD5 message digests of everything we intend to tar up.  #Make MD5 message digests of everything we intend to tar up.
41  find -L /hb/ashley_david_personal_01/full_monthly -type f -exec md5sum '{}' \; &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.md5sum.txt  find -L /hb/ashley_david_personal_01/full_monthly -type f -exec md5sum '{}' \; &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.md5sum.txt
42  #  #
43  #Make SHA512 message digests of everything we intend to tar up.  #Make SHA512 message digests of everything we intend to tar up.
44  find -L /hb/ashley_david_personal_01/full_monthly -type f -exec sha512sum '{}' \; &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.sha512sum.txt  find -L /hb/ashley_david_personal_01/full_monthly -type f -exec sha512sum '{}' \; &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.sha512sum.txt
45  #  #
46  #Tar up everything except for the backup symlinks themselves.  #Tar up everything except for the backup symlinks themselves.
47  tar -c -v -z -h -f /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.tar.gz /hb/ashley_david_personal_01/full_monthly &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.log.txt  tar -c -v -z -h -f /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.tar.gz /hb/ashley_david_personal_01/full_monthly &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.log.txt
48  #  #
49  #Tar up the symlinks.  #Tar up the symlinks.
50  tar -c -v -z -f /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.symlinks.tar.gz /hb/ashley_david_personal_01/full_monthly &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.symlinks.log.txt  tar -c -v -z -f /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.symlinks.tar.gz /hb/ashley_david_personal_01/full_monthly &>/hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.symlinks.log.txt
51  #  #
52  #Emit the file MD5s to stdout so they go in the larger log.  #Emit the file MD5s to stdout so they go in the larger log.
53  echo "===== FILE MD5 MESSAGE DIGESTS ====="  echo "===== FILE MD5 MESSAGE DIGESTS ====="
54  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.md5sum.txt  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.md5sum.txt
55  #  #
56  #Emit the file SHA512s to stdout so they go in the larger log.  #Emit the file SHA512s to stdout so they go in the larger log.
57  echo "===== FILE SHA512 MESSAGE DIGESTS ====="  echo "===== FILE SHA512 MESSAGE DIGESTS ====="
58  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.sha512sum.txt  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.sha512sum.txt
59  #  #
60  #Emit the log files to stdout so they go in the larger log.  #Emit the log files to stdout so they go in the larger log.
61  echo "===== FILES ====="  echo "===== FILES ====="
62  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.log.txt  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.files.log.txt
63  #  #
64  echo "===== SYMLINKS ====="  echo "===== SYMLINKS ====="
65  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.symlinks.log.txt  cat /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}/${1}${5}${6}_${10}${13}${14}.symlinks.log.txt
66  #  #
67  #We want to be really careful with this next section because of  #We want to be really careful with this next section because of
68  #the recursive rm.  Want to be sure the directory exists.  #the recursive rm.  Want to be sure the directory exists.
69  if [ -d /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14} ] ; then  if [ -d /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14} ] ; then
70     cd /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}     cd /hl/baks/ashley_david_personal_01/full_monthly/${1}${5}${6}_${10}${13}${14}
71     split -b 1000m ${1}${5}${6}_${10}${13}${14}.files.tar.gz     split -b 1000m ${1}${5}${6}_${10}${13}${14}.files.tar.gz
72     XFILES=`ls -1 x*`     XFILES=`ls -1 x*`
73     for curfile in $XFILES     for curfile in $XFILES
74     do     do
75        mv ${curfile} ${curfile}.bin        mv ${curfile} ${curfile}.bin
76     done     done
77     md5sum  ${1}${5}${6}_${10}${13}${14}.* x* >md5sums.txt     md5sum  ${1}${5}${6}_${10}${13}${14}.* x* >md5sums.txt
78     sha512sum ${1}${5}${6}_${10}${13}${14}.* x* >sha512sums.txt     sha512sum ${1}${5}${6}_${10}${13}${14}.* x* >sha512sums.txt
79     rm ${1}${5}${6}_${10}${13}${14}.files.tar.gz     rm ${1}${5}${6}_${10}${13}${14}.files.tar.gz
80     #     #
81     #Emit the backup file MD5s to stdout so they go in the larger log.     #Emit the backup file MD5s to stdout so they go in the larger log.
82     echo "===== BACKUP FILE MD5 MESSAGE DIGESTS ====="     echo "===== BACKUP FILE MD5 MESSAGE DIGESTS ====="
83     cat md5sums.txt     cat md5sums.txt
84     #     #
85     #Emit the backup file SHA512s to stdout so they go in the larger log.     #Emit the backup file SHA512s to stdout so they go in the larger log.
86     echo "===== BACKUP FILE SHA512 MESSAGE DIGESTS ====="     echo "===== BACKUP FILE SHA512 MESSAGE DIGESTS ====="
87     cat sha512sums.txt     cat sha512sums.txt
88     #     #
89     cd ..     cd ..
90     rm -fR `ls -1t | sed -e '2,$!d'`     rm -fR `ls -1t | sed -e '2,$!d'`
91  fi  fi
92  #  #
93  #Change to a safe working directory in case something goes wrong,  #Change to a safe working directory in case something goes wrong,
94  #especially a failed cd followed by a mass delete.  #especially a failed cd followed by a mass delete.
95  cd /root/cronjob_sandbox  cd /root/cronjob_sandbox
96  #  #
97  #End of script.  #End of script.

Legend:
Removed from v.58  
changed lines
  Added in v.60

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25