在centos7 下 如何只执行一次某个shell脚本,而且指定用user1这个用户启动脚本
2023-12-21 18:37:56
1、创建一个调度器文件,例如 run-once.timer
,并将以下内容添加到文件中:
[Unit]
Description=Run Once Timer
[Timer]
OnBootSec=1min
Persistent=false
[Install]
WantedBy=timers.target
2、创建一个服务文件,例如 run-once.service
,并将以下内容添加到文件中:
[Unit]
Description=Run Once Service
[Service]
ExecStart=/bin/bash -c "sudo -u user1 /path/to/your_script.sh"
Type=oneshot
[Install]
WantedBy=multi-user.target
3、将调度器文件和服务文件复制到 /etc/systemd/system/
目录下:
sudo cp run-once.timer run-once.service /etc/systemd/system/
4、更新 systemd 配置:
sudo systemctl daemon-reload
5、启用并启动计时器:
sudo systemctl enable run-once.timer
sudo systemctl start run-once.timer
6、重启主机查看效果
? ? ? 比如你的shell脚本中有往指定的文件中写东西,那重启主机后确认是否有新内容写进来
比如脚本内容是
#!/usr/bin/env bash
mytime=$(date +%Y-%m-%d_%H:%M:%S_%5N)
echo "good luck $mytime" >> /opt/user1/a.log
文章来源:https://blog.csdn.net/xoofly/article/details/135137093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!