一、先写个ping脚本并记录日志

1)vi ping.sh

nohup ping 10.242.0.114 -w 2| awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } '>ping.log &

说明

  • ping参数说明

-c(设置 ping 的次数,默认无限次,可选)

-i(设置 ping 的时间间隔,默认1秒,可选)

-w(设置 ping 的超时时间,可选)

  • 输入日志到ping.log文件

2)添加可执行权限:

chmod +x ping.sh

二、设置定时任务

crontab -e


按键i进入编辑模式

*/1 * * * * /root/ping.sh

说明:

  • crontab -e说明:
说明 小时 星期 命令
数值范围 0-59 0-23 1-31 1-12 0-6 command

 几个特殊符号的含义:

         “*”代表取值范围内的数字,
         “/”代表”每”,
         “-”代表从某个数字到某个数字,
         “,”分开几个离散的数字
示例:

30     3       10,20     *     *     sh /root/ping.sh             每月10号及20号的3:30执行sh /root/ping.sh命令[注:“,”用来连接多个不连续的时段]
25     8-11    *         *     *     sh /root/ping.sh             每天8-11点的第25分钟执行sh /root/ping.sh命令[注:“-”用来连接连续的时段]
*/15   *       *         *     *     sh /root/ping.sh             每15分钟执行一次sh /root/ping.sh命令 [即每个小时的第0 15 30 45 60分钟执行命令 ]
30     6       */10      *     *     sh /root/ping.sh             每个月中,每隔10天6:30执行一次sh /root/ping.sh命令[即每月的1、11、21、31日是的6:30执行一次命令。 ]
  • 其他说明:

ping脚本中没有指定日志生成路径,所以生成的日志ping.log会默认生成到/root用户下

三、crontab 到时间没有执行时的检查步骤


1). 检查服务是否已开启
service crond status
或 systemctl status crond
2). 检查配置是否已正常载入
crontab -l
假如没有,则执行 crontab /etc/crontab 重新载入
或通过 crontab -e 设定当前用户的任务
3). 检查执行任务的用户是否为 root 或在 sudoer 名单里
4). 检查执行用户对需要执行的脚本是否是 owner,如果不是 owner ,则需要有 r 和 x 权限
5). 检查脚本里是否有使用到一些相对路径,如果有,应先 cd 绝对路径进入到指定目录,再执行其他命令
6). 查看 cron 日志
cat /var/log/cron
 

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐