linux文件上传完毕后自动发邮件shell ---原创

原创文章,转载请注明出处,谢谢!

首先说下各个目录功能

#备份文件存放目录
/home/admin/xiaoshibak
#所有shell存放目录
/home/admin/xiaoshi
#自动上传+自动发邮件shell
/home/admin/xiaoshi/run.sh
#自动上传文件shell(FTP命令不可上传目录)
/home/admin/xiaoshi/wwwrootbak.sh
#自动发邮件shell
/home/admin/xiaoshi/mail.sh
#邮件内容
/home/admin/xiaoshi/mail.txt

下面是shell内容

/home/admin/xiaoshi/run.sh
sh /home/admin/xiaoshi/wwwrootbak.sh
sh /home/admin/xiaoshi/mail.sh
/home/admin/xiaoshi/wwwrootbak.sh
#!/bin/bash
 ftp -n 你的FTP主机IP <<END
 user FTP账号 FTP密码
 binary
 cd /
 lcd /home/admin/xiaoshibak
 prompt
 mput  *.*
 # *.*就是上传此目录任意文件的意思
 exit
 bye
/home/admin/xiaoshi/mail.sh
 mailx -s "文件上传完毕" 123456@qq.com </home/admin/xiaoshi/mail.txt
 
 mailx -s "文件上传完毕" admin@aispider.com </home/admin/xiaoshi/mail.txt

/home/admin/xiaoshi/mail.txt
 管理员,你好,位于/home/admin/xiaoshibak目录的所有文件已上传完毕
 请重新登录SSH  删除已经上传成功的所有文件,然后将需要上传的文件打包至/home/admin/xiaoshibak目录 
 打包命令:  zip -r /home/admin/xiaoshibak/test.zip  test
            tar -zcvf /home/admin/xiaoshibak/tast.tar.gz test
            tar -jcvf /home/admin/xiaoshibak/test.tar.bz2 test
            rar -a /home/admin/xiaoshibak/test.rar  test
 以上四条命令任选其一即可..
 打包完成后执行命令:
 nohup /home/admin/xiaoshi/run.sh & 
 命令执行后就会自动上传文件,然后你就可以退出SSH了,所有文件上传完毕后就会收到邮件提示。
 

若果你的服务器不能执行mailx命令或者使用mailx命令不能发送邮件,请看下面这篇文章
http://www.cnblogs.com/xiaoshi1991/archive/2012/09/19/2694465.html

 如果你还是不懂,就进bbs.aispider.com发帖提问去吧....

 
posted @ 2012-09-20 18:03  xiaoshi1991  阅读(...)  评论(... 编辑 收藏