shell 实现后台执行秒级任务

[email protected]:~# ls while50.sh 
while50.sh
[email protected]:~# cat while50.sh 
#!/bin/bash
logfile=/root/192.168.1.50.ping.log
while true
do
    echo -n $(date +%Y-%H:%M:%S) >>$logfile
    ping -c1 -w1 192.168.1.50 >/dev/null
    #ping  192.168.1.50 
    if [ $? -eq 0 ];then
        echo -n " ------ OK ">>$logfile
    else 
        echo -n " ------ bad">>$logfile
    fi
    echo " ">>$logfile
    sleep 1
done
[email protected]:~# tail -f 192.168.1.50.ping.log 
2017-14:03:25 ------ OK  
2017-14:03:26 ------ OK  
2017-14:03:27 ------ OK  
2017-14:03:28 ------ OK  
2017-14:03:29 ------ OK  
2017-14:03:30 ------ OK  
2017-14:03:31 ------ OK  
2017-14:03:32 ------ OK  
2017-14:03:33 ------ OK  
2017-14:03:34 ------ OK  
2017-14:03:35 ------ OK

1、以上是测试ping的问题,在监控的时候发现邮件告警ping到192.168.1.50机器的会丢包,检查丢包,手动检查。

2、以上后台一直在执行,断开终端还是执除非kill掉。这样就可以不间断的监控。

时间: 2024-10-24 19:10:12

shell 实现后台执行秒级任务的相关文章

crontab执行到秒级的常用方案

crontab的粒度最小是到分钟,但是还是可以通过变通的方法做到隔多少秒运行一次. 以下方法将每10秒执行一次 crontab -e /bin/date sleep 10; /bin/date sleep 20; /bin/date sleep 30; /bin/date 意思是每分钟执行 /bin/date,每分钟开始之后sleep10后执行,..... 实际上上面的命令都是在每分钟就已经执行了,技巧就是在commad里面通过sleep来到达秒级间隔.

linux shell 创建并发后台执行任务并等待任务执行完成

#!/bin/bash echo "i am main" for i in $(seq 1 5) do { sleep 10; echo "i am $i"; }& done wait http://www.cnblogs.com/dorothychai/archive/2012/10/19/2730374.html linux shell 创建并发后台执行任务并等待任务执行完成

shell命令、调度工具、后台执行线程和软连接

一.shell命令 1.后缀.sh 第一行需要加#!/bin/bash 没有的话,需呀sh 命令执行 示例test.sh: #!/bin/bash date ./test.sh 提示没有权限,此时,需要chmod 744 test.sh 二.调度工具 1.airflow 2.azkaban 3.rundeck 4.Linux自带的调度工具:crontab *代表每的意思 使用crontab --help可以看到,-e表示编辑,-l表示产看内容 示例:crontab -e * * * * * /r

后台执行shell脚本

执行方式: nohup sh export_data.sh 20150102 >20150102.log 2>&1 & [1] 29531 其中 0.1.2分别代表如下含义: 0 – stdin (standard input) 1 – stdout (standard output) 2 – stderr (standard error) nohup+最后面的& 是让命令在后台执行 >out.log 是将信息输出到out.log日志中 2>&1 是

shell脚本定时后台执行

1. 使用&符号在后台执行命令 你可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:. $ ./my-shell-script.sh & 2. 使用nohup在后台执行命令 使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉.要避免这种情况,你可以使用nohup命令,如下所示: $ nohup ./my-shell-script.sh & 3. 使用screen执行命令 通过nohup和&符号在后台执行命令

企业实战-KeepAlived+Redis实现主从热备、秒级切换

最近公司生产环境需要做一个Redis+Keepalived的集群架构,分别用六个端口,实现多路复用,最终实现主从热备.秒级切换. 一.部署Redis集群 首先用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环 境.然后模拟成功,方可去线上生产服务器部署. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210)

如何利用crond实现秒级定时任务?

1.问题引出:crond实现定时任务的思路 crond服务默认情况每分钟检查系统中是否有需要执行的定时任务,如果有,就会根据事先定义好的规则来执行这个定时任务,而crond配置的书写语法中:"* * * * * command",最低的时间单位是分钟,所以说,一个crond定时任务最多只能执行分钟级的定时任务,这是显然的!但事实情况是,利用crond也是可以实现秒级的定时任务的,既然一个定时任务真的就只能实现分钟级的定时任务,那我几个定时任务同时实现一个功能,是否有可能达到秒级???

Linux下实现秒级定时任务的两种方案

Linux下实现秒级定时任务的两种方案(Crontab 每秒运行): 第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间. while true ;do command sleep XX //间隔秒数 done 第二种方案,使用crontab. 我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次. 以下方法将每20秒执行一次 crontab -e * * * * * /bin/date* * * * * sleep 20;

forever让nodejs应用后台执行

nodejs一般是当成一条用户命令执行的,当用户断开客户连接,运用也就停了,很烦人.如何让nodejs应用当成服务,在后台执行呢? 最简单的办法: $ nohup node app.js & 但是,forever能做更多的事情,比如分别记录输出和错误日志,比如可以在js中作为api使用. $ sudo npm install forever -g #安装 $ forever start app.js #启动 $ forever stop app.js #关闭 $ forever start -l