Centos定时关机和脚本中sudo执行无需密码


前言

用于Centos定时关机,文中提及如何在系统中修改配置文件后脚本中的sudo执行不需要输入密码。
100 root ALL=(ALL) ALL
101 kylin ALL=(ALL) NOPASSWD: ALL

重点提示:使用此脚本前需要修改sudo配置文件,使用管理员账户登录终端;
vi /etc/sudoers/对此文件进行编辑,将第100行root ALL=(ALL) ALL后增加一行;
kylin ALL=(ALL) NOPASSWD: ALL 此处(kylin更换为默认登录的用户名);
输入wq!强制保存并退出。


一、脚本内容

#!/bin/bash
# 执行此脚本前 需要给本脚本以及/home增加权限,使用
# cd / ; chmod 777 /home 后即可使用普通用户执行。
# 想开机5分钟后执行关机命令需要在crontab下增加 时任务
# 输入crontab -e 后,注意crontab务必在root下添加任务!!!!
#再输入*/5 * * * * /*/5 * * * * /path/to/your/script.sh
# 正常会出现crontab: installing new crontab
# 输入crontab -l 可查看脚本是否定时成功
################################################################
# 设置记录文件路径和文件名
LOG_FILE="/home/poweroff_log.txt"

# 检查记录文件是否存在,如果不存在则创建新文件并初始化关机次数为0
if [ ! -f $LOG_FILE ];
 then
  echo "0" > $LOG_FILE
fi

# 设置初始关机次数累加至5次
 shutdown_count=$(cat $LOG_FILE)
 sudo chmod 777 $LOG_FILE
 if [ $shutdown_count -lt 5 ]; then 
    shutdown_count=$((shutdown_count + 1)) 
 sudo echo " $shutdown_count "> $LOG_FILE
fi
# 使用while循环执行关机命令并记录次数
while [ $shutdown_count -lt 5 ]; do
  # 执行关机命令
  echo "执行关机命令..."

   sudo poweroff
  
done

二、使用方法

1.首要按照注释中将存放日志的文件相应的权限

# 如果想要用普通用户就可以使用此脚本,需要进行以下权限的更改。
cd /
chmod 777 /home
chmod 777 /path/to/your/script.sh

1.1 编辑vi /etc/sudoers文件内容以实现sudo无需密码执行

(1) 切换为管理员权限
(2) 使用vi命令修改/etc/sudoers/,将第100行root ALL=(ALL) ALL后增加一行;
(3)kylin ALL=(ALL) NOPASSWD: ALL 此处(kylin更换为默认登录的用户名);
(4)效果如下图,输入wq!强制保存并退出。

在这里插入图片描述

2.使用crontab定时执行任务

输入crontab -e 编辑定时任务
输入*/5 * * * * /path/to/your/script.sh
回车后出现  crontab: installing new crontab 提示
即可实现定时5分钟重启;
注意:(第一次设置crontab 任务时会在3分钟后开始计时,避免出现设置时间错误无法修改)
输入crontab -l 查看当前定时任务的情况
输入 crontab -r 移除定时任务。

在这里插入图片描述

总结

此脚本可以实现定时关机的执行,脚本命名尽量简洁,注意权限和sudoer的内容编写,脚本就可以顺利运行。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值