你在这篇文章中学到了什么?

  • 您将学习如何创建 Shell 脚本。

  • 您将学习如何通过脚本备份数据库。

  • 您将学习如何在一天中的特定时间自动化您的脚本。

  • 此外,您将学习如何以编程方式向您的 Slack 频道发送消息。

概述

想象一下,你有一个 Slack 频道,并且你想在你的 Linux/Unix 机器上发生什么事情时得到通知。例如,备份某些内容,或检查磁盘使用情况,监控网络/进程,或手动在该机器上执行的任何操作。在这种情况下,我假设您想要获取数据库备份并将流程成功或失败消息发送到您的一个 Slack 通道。在开始之前,您需要有一个 Slack 帐户。这篇文章的目标是每天进行备份并向您的 Slack 频道发送消息。在开始之前你需要有Slack

创建脚本

  • 在你的机器上创建你的script.sh文件。

  • 使您的脚本可执行chmod u+x script.sh

  • 将您的逻辑添加到其中。对于这种情况,使用mysqldump备份 MySQL 数据库。


#!/bin/sh

date=`date +%Y%m%d`

mysqldump -h localhost -u root -p pass --single-transaction --quick databasename > jeff/backup/databse${date}.sql

if [ "$?" -eq 0 ]
then
    echo " Script is running - ${date}" >> jeff/dbbackup.log
     curl -X POST -H 'Content-type: application/json' --data '{"channel":"#<your channel name>","text":"<your message here>"}' https://<your-slack-chanel>.slack.com/services/hooks/<your hooks key>
else
    echo "Script failed to run on ${date}" >> jeff/dbbackup.log
    curl -X POST -H 'Content-type: application/json' --data '{"channel":"#<your channel name>","text":"<your message here> "}' https://<your-slack-chanel>.slack.com/services/hooks/<your hookks key>
fi

进入全屏模式 退出全屏模式

您需要使用自定义消息和 Slack webhooks 的密钥修改<your message here><your channel name><your hooks key。在哪里获得钥匙?按照下一步

创建 Slack Webhook

  • 创建一个Slack 帐户和频道,如果你没有它。

  • 创建一个Slack 应用程序。按照这个的步骤。

将脚本添加到 Cron 作业。

如果您想安排服务器上的命令或脚本在指定的时间和日期自动运行,请阅读我的上一篇文章的结尾。

祝你好运😉

Logo

更多推荐