1.当有人更新排期表,服务器自动发邮件通知相关人员查看排气表,脚本如下:
- [root@admin dpi]# cat email-paiqi.sh
- #!/bin/bash
- newfile=`find /yk/dpipaiqi/ -type f -cmin -10`
- #newfile=/yk/yachi.txt
- ttime=`date +%F`
- if [ -e "$newfile" ];then
- #echo "$newfile" >/yk/dpi/email-content
- echo -e "您好:\n\n请查收新的排期表,链接为:ftp://paiqibiao:123456@*.132/${newfile##*/} \n\n谢谢!" >/yk/dpi/email-content
- #ftp://paiqibiao:123456@*.132/yk/dpipaiqi/vsftpd.conf
- #mail -s '有新的排期表更新' 28*078@qq.com xichubawangaini@163.com
- mail -s "DPI new schedule ${ttime}" 28*78@qq.com xichubawangaini@163.com
- #mail -s 'DPI new schedule ${ttime}' 28*078@qq.com xichubawangaini@163.com
- else
- exit 0
- fi
- [root@admin dpi]#
- [root@admin dpi]#echo $LANG
- zh_CN.UTF-8
- [root@admin dpi]#
2.注意:将脚本写入crontab:
- 00 00 * * * /root/cut-log.sh 2>&1 >/dev/null &
- */5 * * * * cacti php /var/www/html/nick/poller.php > /dev/null 2>&1
- */8 * * * * /yk/dpi/email_paiqi.sh
或者脚本外面加入一个for循环,转入后台执行。执行脚本的用户,得有find newfile的权限,email-content的权限,脚本文件的权限。邮件的subject为中文时,却出现乱码,是编码的问题,暂时还没解决,因为不能随便修改服务器编码,机器上还有其他的服务,以免出现意想不到的问题。如图:
3.放10分钟内多更新排气表则生成的链接会有问题,解决方法:文件扫描时间间隔为10分钟,即不能在10分钟之内更新多次排期表,如果上传错误要立即更新排期表,则将错误的文件删除再上传。
4.乱码问题,最终还是得解决,在我qq邮箱就是好的,163也是好的,就189邮箱还不行,但是客户用的是189邮箱,无奈,用笨的方法,编辑好txt,通过ftp上传上去,然后cp,再追加链接,测试成功,脚本如下:
- [yangkai@admin dpi]$ cat email-paiqi.sh
- #!/bin/bash
- newfile=`find /yk/dpipaiqi/ -type f -cmin -10`
- ttime=`date +%F`
- if [ -e "$newfile" ];then
- cat /yk/dpi/youjianhuifu.txt >/yk/dpi/temp
- echo "ftp://paiqibiao:123456@6#.132/${newfile##*/}" >>/yk/dpi/temp
- echo "thanks!">>/yk/dpi/temp
- mail -s "DPI new schedule ${ttime}" 115#97@qq.com li#89.cn 282#qq.com xichubawangaini@163.com
- else
- exit 0
- fi
- [yangkai@admin dpi]$
- youjianhuifu.txt: COM executable for DOS
- [root@admin dpi]# file temp
- temp: COM executable for DOS
- [root@admin dpi]#