5040f3fccad94eb4d52541dbd30811736b06d1a6
3 cfgfile
=$
(readlink
-f $2)
4 stordir
=$
(readlink
-f $3)
5 tempdir
=/tmp
/mysqlbak_$$
6 currdat
=$
(date +%Y
%m
%d
)
8 tarname
=mysqlbak_
${archive}_
${currdat}
11 FreeBSD
) statres
=$
(stat
-f %Sp
/%Su
${passfile});;
12 Linux
) statres
=$
(stat
-c %A
/%U
${passfile});;
13 *) echo Unknown OS.
; exit 1;;
16 if [ "${statres}" != "-r--------/$(whoami)" ]
18 echo "Password file must have 400 permissions and must be owned by you! (And it must exist, by the way.)"
21 dbpass
=$
(cat ${passfile})
26 cat ${cfgfile} |
while read db
28 sqlfile
=mysqlbak_
${db}_
${currdat}.sql
29 if ! mysqldump
--user root
--password=${dbpass} --databases ${db} > ${sqlfile};
31 echo "Failed to dump ${db} to ${sqlfile}."
36 if tar cvf
${tarname}.
tar *.sql
;
40 mv ${tarname}.
tar.bz2
${stordir}
48 scp
${tarname}.
tar.bz2
${target}
51 echo "Failed to create archive: ${tarname}."