立即登录

linux 自动发邮件脚本 如何在systemd Linux上启动时自动执行shell脚本

11/27 20:46:07

linux 自动发邮件脚本 如何在systemd Linux上启动时自动执行shell脚本

如何在systemd Linux上启动时自动执行shell脚本

下面的配置将讨论如何在systemd Linux引导期间执行shell脚本的基本示例。在Linux启动期间执行shell脚本可能有各种原因辅助论坛,例如启动特定的定制服务、检查磁盘空间、创建备份等。

下面的示例将作为一个基本模板,稍后将根据您的具体需要进行修改。

在下面的示例中linux 自动发邮件脚本,我们将在引导期间检查/home/目录的磁盘空间,并将报告写入/root/目录。

启动shell脚本

接下来,我们创建要在SystemD启动期间执行的自定义shell脚本。

linux 自动发邮件脚本_2017发外链自动发外链_zabbix邮件报警脚本

位置和脚本的名称已经被 service unit 定义为 /usr/local/bin/disk-space-check.sh。

脚本的内容可以简单:

#!/bin/bash
date > /root/disk_space_report.txt
du -sh /home/>> /root/disk_space_report.txt

Systemd服务单元

2017发外链自动发外链_linux 自动发邮件脚本_zabbix邮件报警脚本

首先,我们需要创建一个systemd启动脚本,例如disk-space-check.service,并将其放入“/etc/systemd/system/”目录中。您可以在下面找到此类systemd启动脚本的示例:

[Unit]
After=mysql.service
[Service]
ExecStart=/usr/local/bin/disk-space-check.sh
[Install]
WantedBy=default.target

linux 自动发邮件脚本_2017发外链自动发外链_zabbix邮件报警脚本

上面是systemd service unit最低配置。

有关要使用的更多信息和选项linux 自动发邮件脚本,请参阅systemd.service手册页面:

$man systemd.service

配置和安装

在我们重新启动我们的系统之前,我们需要让我们的脚本可执行文件:

linux 自动发邮件脚本_zabbix邮件报警脚本_2017发外链自动发外链

# chmod 744 /usr/local/bin/disk-space-check.sh

接下来,安装SystemD服务单元并启用它,以便它将在系统启动时执行:

# chmod 664 /etc/systemd/system/disk-space-check.service
# systemctl daemon-reload
# systemctl enable disk-space-check.service
Created symlink from /etc/systemd/system/default.target.wants/disk-space-check.service to /etc/systemd/system/disk-space-check.service.

zabbix邮件报警脚本_2017发外链自动发外链_linux 自动发邮件脚本

如果我们希望在重新启动运行之前测试脚本:

# systemctl start disk-space-check.service
# cat /root/disk_space_report.txt 
Thursday 7 July  11:30:25 AEST 2014
1.5G    /home/

来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

最新资讯