|
|
@@ -119,49 +119,25 @@ async function checkDiskSpace() {
|
|
|
};
|
|
|
}
|
|
|
|
|
|
-async function run(lastErrCode = 0) {
|
|
|
+async function run() {
|
|
|
console.log("检查磁盘空间...", new Date());
|
|
|
|
|
|
try {
|
|
|
- let result = null;
|
|
|
-
|
|
|
- // 连续检测3次才发送通知,减少误报
|
|
|
- for (let i = 0; i < 3; i++) {
|
|
|
- result = await checkDiskSpace();
|
|
|
- console.log(result);
|
|
|
-
|
|
|
- if (!result.result) {
|
|
|
- console.warn("磁盘空间检查出现异常,一分钟后重试");
|
|
|
- await delay(60 * 1000);
|
|
|
- } else {
|
|
|
- console.log("磁盘空间正常");
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ const result = await checkDiskSpace();
|
|
|
+ console.log(result);
|
|
|
|
|
|
if (!result.result) {
|
|
|
- console.error("连续3次检查磁盘空间异常,发送通知");
|
|
|
+ console.error("磁盘空间异常,发送通知");
|
|
|
sendEmail(result.title, result.data);
|
|
|
sendSms(result.sms);
|
|
|
- console.log("5分钟后再试");
|
|
|
- setTimeout(run, 5 * 60 * 1000, result.errcode);
|
|
|
- return;
|
|
|
} else {
|
|
|
- // 如果上次是出错的情况,那么属于服务恢复,发送恢复通知
|
|
|
- if (lastErrCode === 200 || lastErrCode === 201) {
|
|
|
- sendEmail(result.title, result.data);
|
|
|
- sendSms(result.sms);
|
|
|
- }
|
|
|
+ console.log("磁盘空间正常");
|
|
|
}
|
|
|
} catch (err) {
|
|
|
console.error(err.stack);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function delay(ms) {
|
|
|
- return new Promise(done => setTimeout(done, ms));
|
|
|
-}
|
|
|
-
|
|
|
module.exports = { run, checkDiskSpace };
|
|
|
|
|
|
if (require.main == module) {
|