定时备份及邮件通知

使用Linux下crontab命令来实现定时备份及邮件通知功能。

 

首先需要编写备份及邮件通知脚本。

 

 

备份脚本:

 

# 先将要备份的文件夹打包

tar cf xxx .tar xxx

# 然后在保存备份的根目录下创建以“年月”为文件夹名的文件夹,将备份按月存放

mkdir /xxxbackup /`date +%Y%m`

# 将打好包的备份移动到备份根目录当月文件夹,并给备份包的文件名加上日期

mv xxx .tar /xxxbackup /`date +%Y%m`/xxx_bak_ `date +%Y%m%d`.tar

# 进入备份包所在文件夹并通过ftp将其发送到其他服务器上备份
cd /xxxbackup /`date +%Y%m`
ftp -niv<<!
open 192.168.*.*
user root yourpassword
binary
cd /xxxbackup
mkdir `date +%Y%m`
put xxx_bak_ `date +%Y%m%d`.tar /xxxbackup /`date +%Y%m`/xxx_bak_ `date +%Y%m%d`.tar
bye
!

 

将备份脚本保存为autobackup.sh

 

 

邮件通知脚本:

 

# crontab命令执行任务结束后会给root发送一份执行结果的邮件,

# 从中截取需要的部分(如倒数15行),将其保存在temp文件中

tail -15 /var/spool/mail/root >temp

# 使用mail命令将temp文件内容作为附件发送到指定邮箱中
mail -s `date +%Y%m%d` backupmail@***.com <temp

# 删除temp临时文件
rm -rf temp

 

将邮件通知脚本保存为mailresult.sh

 

 

定时执行的任务脚本:

 

# 每天的3点开始执行自动备份脚本

0 3 * * * /path /autobackup.sh

# 每天的3点10份开始执行邮件通知脚本
10 3 * * * /path /mailresult.sh

 

将定时执行脚本保存为crontabtask

 

 

然后在终端将任务发布:

 

[root@localhost]# crontab crontabtask

 

--------------------------------------------------------------------------------------------------------------

 

默认的mail设置可能不能够向外部邮箱发送邮件,只能向本机内用户发送邮件。

 

此处的简单配置请见:

 

http://www.diybl.com/course/6_system/linux/Linuxjs/20091119/182839.html

 

 

http://blog.csdn.net/AlphaHinex/archive/2010/02/01/5276433.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值