Linux 建立每日備份 Shell Script
#!/bin/sh
# Definded Dump Configuartion
rollingDays=7
dumpFilename="mongodb"
dumpTmpDir="/tmp/mongo-dump-tmp"
backupPath="/root/mongo-backup"
username="username"
password="password"
hostname="127.0.0.1"
database="my-mongo"
#Start Dumpping.......
today=`date "+%Y-%m-%d"`
echo "Today: ${today}"
echo "Start Dumpping......."
# Make backup directory
if ! [ -d "${backupPath}" ] ; then
echo "make dir : ${backupPath}"
mkdir -p "${backupPath}"
fi
if ! [ -d "${dumpTmpDir}" ] ; then
echo "make dir : ${dumpTmpDir}"
mkdir -p "${dumpTmpDir}"
fi
# Make parameter
dn="-h ${hostname}"
if [ "${username}" != "" ] && [ "${password}" != "" ] ; then
dn="${dn} -u ${username} -p ${password}"
fi
if [ "${databse}" != "" ] ; then
dn="${dn} -d ${database}"
fi
# Run backup script
rm -rf -R ${dumpTmpDir}
command="mongodump ${dn} -o ${dumpTmpDir}"
echo $command
$command
if [ $?:= 0 ] ; then
cd "${dumpTmpDir}"
/bin/tar -zcvf "${backupPath}/${dumpFilename}-${today}.tar.gz" *
find ${backupPath}/${dumpFilename}-* -mtime +{rollingDays} -exec rm -f {} \;
fi
rm -rf -R ${dumpTmpDir}