linux - 如何在关机或重启前在服务器上运行脚本

标签 linux amazon-web-services

我想直接将服务器日志发送到 s3 存储桶。

我为此创建了一个脚本,它将每天运行一次,现在我希望它在服务器重启或关闭时运行。

为此,我将这个脚本保存在 /etc/init.d 目录中,并在 /etc/rc6/etc/中创建了一个符号链接(symbolic link)rc0目录。

为什么在服务器重新启动或关闭时它没有运行?

sudo tar -czvf otaaccess.tar.gz /var/log/nginx/access.log
INSTANCE=$(cat /var/tmp/aws-mon/instance-id)
sudo aws s3 cp /home/ec2-user/otaaccess.tar.gz s3://hubbleserver-logs/ota/access/`date +%Y-%m-%dT%H:%M`-$INSTANCE.log
sudo truncate -s 0 /var/log/nginx/access.log
sudo rm /home/ec2-user/otaaccess.tar.gz

最佳答案

我认为“ secret ”是创建一个锁定文件,就像我在下面的初始化脚本中所做的那样。创建该锁定文件后,它应该可以在系统重新启动时使用。

#!/bin/bash
# Description: abc script
# chkconfig:    3 99 01

mylog="/var/log/abc.log"

case "$1" in
  start)
    touch /var/lock/subsys/abc
    ;;
  stop)
    echo "Before init 6" > $mylog
    date >> $mylog
    ;;
esac

---- 一些命令-----

# chkconfig --add abc
# chkconfig --list abc
    abc             0:off   1:off   2:off   3:on    4:off   5:off   6:off

关于linux - 如何在关机或重启前在服务器上运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38651554/

相关文章:

python - 如何让python脚本给sudo提示我的密码

linux - Graphite 服务器高 IO 等待时间

c# - Ivona 请求签名问题 - 签名不匹配(AWS 签名版本 4)

python-2.7 - Flask Web 应用程序未响应 EC2 上的外部请求

amazon-web-services - AWS 托管服务中的 Apache Storm 替代方案是什么?

linux - Openstack 概览索引错误

linux - 如何在 Windows 10 下自动设置和配置适用于 Linux 的 Windows 子系统?

linux - 内核中网络接口(interface)的供应商信息

amazon-web-services - DynamoDB 获取项目 TypeScript hell

amazon-web-services - 是否可以向 AWS 策略添加内联描述?