直接使用 Linux Script 自動備份

#/bin/bash
user=SQL登入帳號
passwd=SQL登入密碼
back_path=/home/sqlbk/
db_name=進銷存3
back_time=`date +%Y%m%d_%H%M%S`
back_filename=$back_path$db_name$back_time
del_time=`date -d "2 day ago" +"%Y%m%d"`
del_backfile=$back_path$db_name$del_time

sqlcmd -S localhost -U $user -P $passwd -d master -Q "BACKUP DATABASE $db_name to disk='$back_filename.bak'"
tar -zcPf $back_filename.tar.gz $back_filename.bak
rm -f $back_filename.bak
if [ -e $back_filename.tar.gz ];then
    rm  -rf $del_backfile*.gz
    echo "database[multiverse] backup success! "
else
    echo "database[multiverse] backup failed!"
fi

加入排程

crontab -e

# MsSQL 進銷存 自動備份 0 * * * * sh /root/script/bkmssqlDB.bak

建立備份資料夾 , 修改資料夾權限

mkdir /root/bksql
chown mssql:mssql /root/bksql