前言

由于本人没啥代码基础,从来没学过代码这方面知识,所以表述各方面可能不是很准确。这个脚本是我在下载电影的时候想到的。现在社会都在实现智能化,所以,我也就想折腾下,搞一个邮件下载通知。

截图

Email 截图

sendmail 邮件系统搭建

安装调试的时候碰到过挺多问题的,但搜索了一下。按照这位博主操作记录,配合宝塔一般都可以成功配置,自己多测试几遍。

脚本的寻找与修改

我先是在恩山无线论坛找到了一篇楼主修改过的用来通知的脚本。

该作者提供的脚本里,邮件什么的都是填上就好,但是我当时sendmail命令出现了一些问题,然后就跟着第一部分的记录走了,一些脚本的东西,我已经写入服务器了,所以,改了很多原来脚本的东西。

我用作者的脚本调试的时候aria2.log中一直会出现 no such file or directory这个问题 但是找不到原因所在。然后我就想全部脚本都用管道来写。。好像有点笨。。但不会其他方法了。

echo "
 
文件路径:$3
 
完成时间 `date +%Y/%m/%d`  `date +%T`
 
负载 "`uptime`"
 
版本 "`uname -a`"
 
From Zero.
 
Have a nice day." | mail -s 'Aria2通知' example@qq.com

这就是我的脚本内容了,很简单是吧。。但我其实操作了好久,才弄出来一个能用的, Aria2通知 是邮件的标题,具体的参数含义在第一部分的文章链接里应该都能找到。

最后的调试

具体步骤:

  1. email.sh脚本上传到服务器
  2. 修改aria2.conf里面的on-download-complete=参数,=后面填写脚本绝对地址

为了同时实现:

  • 邮件通知
  • 自动上传

我是在 autoupload.sh 脚本 中来调用email.sh

具体写法:

. /root/.aria2/email.sh

我的Aria2是用的 Aria2 一键安装管理脚本

PS

这个脚本我自己也不太满意,虽然能实现基本功能,但是存在这几个问题

  1. 一次下载会发两封邮件,因为种子下载完成一封邮件,文件下载完成一封邮件。
  2. 我不懂语法,尝试过basename##/什么的,但是我尝试挺久没成功获取文件名。

第一次写文章,排版什么的都不会,还挺啰嗦。但是挺好玩的。