Ubuntu Server使用automysqlbackup脚本(二)
com)(mail地址咯,不用多说了吧)
CONFIG_mail_address='nc@na.com'
5、先改个脚本的小bug吧。。不过如果你的server上mail和mutt齐备,请忽略该步骤。
vi /usr/local/bin/automysqlbackup
到1026行,将:
if [[ "x$CONFIG_mailcontent" = 'xlog' || "x$CONFIG_mailcontent" = 'xquiet' ]]; then
dependencies=( "${dependencies[@]}" 'mail' )
elif [[ "x$CONFIG_mailcontent" = 'xfiles' ]]; then
dependencies=( "${dependencies[@]}" 'mail' )
if [[ "x$CONFIG_mail_use_uuencoded_attachments" != 'xyes' ]]; then
dependencies=( "${dependencies[@]}" 'mutt' )
fi
fi
改为:
if [[ "x$CONFIG_mail_use_uuencoded_attachments" != 'xyes' ]]; then
if [[ "x$CONFIG_mailcontent" = 'xlog' || "x$CONFIG_mailcontent" = 'xquiet' ]]; then
dependencies=( "${dependencies[@]}" 'mutt' )
elif [[ "x$CONFIG_mailcontent" = 'xfiles' ]]; then
dependencies=( "${dependencies[@]}" 'mutt' )
fi
else
if [[ "x$CONFIG_mailcontent" = 'xlog' || "x$CONFIG_mailcontent" = 'xquiet' ]]; then
dependencies=( "${dependencies[@]}" 'mail' )
elif [[ "x$CONFIG_mailcontent" = 'xfiles' ]]; then
dependencies=( "${dependencies[@]}" 'mail' )
fi
fi
6、安装邮件客户端 mutt+msmtp
apt-get install mutt
安装mutt的时候,会自动安装postfix用作mail server,问题是这玩意太大,出于比较有洁癖的心态,我就主动把它干掉了。毕竟小巧玲珑的msmtp在那等着我呢。(看个人需求和喜好而定)
apt-get remove postfix –purge
apt-get autoremove –purge
安装msmtp
apt-get install msmtp
安装完了,来配邮件吧。
7、邮件客户端配置
vi /etc/Muttrc
最上面加上如下:
#My Mail Setting
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="邮件地址别名"
set envelope_from=yes
#不保留sent的本地存档
set copy = no
然后到~目录下,新建个.msmtprc
cd ~
vi .msmtprc
加上如下内容:
account 邮箱别名
host smtp.126.com
from username@126.com
auth plain
user username
password pwd
logfile ~/.msmtp.log
因为这里是明文密码,所以建议修改个600之流,再增加个日志文件
chmod 600 .msmtprc
touch ~/.msmtp.log
这全部完成了的话,可以试试邮件发不发的出去了。
echo "喂" |mutt -s "发出去没?" testmail@126.com
测试成功的话,就跑一下备份脚本看看吧
8、装上几个我服务器上木有的命令:
apt-get install pax
apt-get install pigz
9、mysql如果之前没设环境变量,只是加了个快捷方式的话,设个环境变量
vi /etc/profile
在最后的位置加入
export PATH=$PATH:/usr/local/mysql/bin
保存,然后再刷新检查下
source /etc/profile
echo $PATH
10、启动下备份脚本试试了,对了,记得要先创建备份路径
mkdir /srv/backup
mkdir /srv/backup/mysql
automysqlbackup
如果没什么问题的话,就会看到备份文件路径下面,自动给你创建好了几个目录:
daily fullschema latest monthly status tmp weekly
而且打开daily,里面应该就会有刚才备份的文件了。
再去check一下mail,都ok,那就配个计划任务就完事了。
11、配置计划任务
crontab –l
先查查看目前有没有任务,没有的话,就在~建个配置文件
cd ~
vi root-crontab
内容添上
30 23 * * * /usr/local/bin/automysqlbackup
表示每天23点30,自动运行备份脚本
然后再添加到计划任务里面去
crontab -u root root-crontab
齐活。。。