安裝mailx,靠它來發送郵件
yum install mailx
編輯配置文件
vim /etc/mail.rc #添加如下內容
set [email protected]
set smtp=smtp.163.com
set [email protected]
set smtp-auth-password=xxx
set smtp-auth=login
---說明
from:對方收到郵件時顯示的發件人
smtp:指定第三方發郵件的smtp服務器地址
set smtp-auth-user:第三方發郵件的用戶名
set smtp-auth-password:用戶名對應的密碼,有些郵箱填的是授權碼
smtp-auth:SMTP的認證方式,默認是login,也可以改成CRAM-MD5或PLAIN方式
linux腳本文件源碼(注意一定要直接在linux系統裏直接編輯,不然創建文件的後綴名會帶問號!!!):
#!/bin/bash
echo "開始"
#備份數據庫
mysqldump -uroot -p數據庫密碼 數據庫名字 > /home/wwwroot/bak/`date +%Y_%m_%d`.sql
echo '備份數據庫完畢'
#備份日誌(將日誌文件複製到備份數據庫的文件夾裏)
oldlog=/home/wwwlogst/web.log
newlog=/home/wwwroot/bak/`date +%Y_%m_%d`.log
cp ${oldlog} ${newlog}
echo "" > ${oldlog}
echo '備份日誌完畢'
#打包文件夾
name= /home/wwwroot/`date +%Y_%m_%d_%H_%M_%s`.zip
old= /home/wwwroot/bak
zip -r ${name} ${old}
echo '打包文件夾完畢'
#發送郵件
echo `date +%Y_%m_%d數據庫備份` | mail -s `date +%Y_%m_%d備份郵件` -a ${name} 你的郵箱@qq.com
echo '發送郵件完畢'
echo "全部完畢"
nodejs 定時調用腳本的源碼
/**
* Created by Administrator on 2018/2/25 0025.
*/
var https = require('http');
var schedule = require('node-schedule');
var exec = require('child_process').exec;
var cmdStr = 'sh /home/wwwroot/myemail.sh';//這裏面寫你要執行的命令就行
var rule = new schedule.RecurrenceRule();
// rule.second = [0,10,20,30,40,50];//隔十秒
rule.hour =23;rule.minute =55;rule.second =0;//每天23點55分執行
var j = schedule.scheduleJob(rule, function(){
exec(cmdStr, function(err,stdout,stderr){
console.log("已執行");
});
console.log('現在時間:',new Date());
});