gpt4 book ai didi

bash - 如果任务失败发送电子邮件

转载 作者:行者123 更新时间:2023-11-29 09:18:12 28 4
gpt4 key购买 nike

我正在编写一个 shell 脚本,它创建一个日志文件,记录它完成的所有任务。在脚本的最后它创建一个 tar 文件并重新启动服务。

我希望脚本在 tar 进程失败或服务未重新启动时发送电子邮件。我不确定如何检查 tar 和服务是否通过/失败。

这是一个没有检查 tar 或服务是否完成的 shell 脚本示例...

#!/bin/bash

# Shutdown service
service $SERVICE stop

# Task 1
command > some1.log

# Task 2
command > some2.log

# Task 3
command > some3.log

# Compress Tar file
tar -czf logfiles.tar.gz *.log

# Start service
service $SERVICE start

# mail if failed
mail -s "Task failed" | user@domain.com << "the task failed"

更新:脚本不应中止,因为我希望服务在任何先前任务失败时尝试重新启动。

最佳答案

您可以查看 exit status由每个步骤产生,并发送任何那些退出状态的邮件都会引发一个标志。

# Compress Tar file
tar -czf logfiles.tar.gz *.log

TAR_EXIT_STATUS=$?

# Start service
service $SERVICE start

SERVICE_EXIT_STATUS=$?

# mail if failed
if [ $TAR_EXIT_STATUS -ne 0 ] || [ $SERVICE_EXIT_STATUS -ne 0 ];then
mail -s "Task failed" | user@domain.com << "the task failed"
fi;

关于bash - 如果任务失败发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32996456/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com