Linux crontab实现每秒执行

众所周知,Linux crontab 默认只支持每分钟执行。而我们很多时候都是需要每n秒执行,我们可以用以下两种方法实现:

一、通过shell脚本实现 (推荐使用)

#!/bin/sh
#原理是通过sleep休眠指定的时间执行
#定时检测进程并重启, ProcessCheck nginx /usr/local/nginx/bin/nginx 20
function ProcessCheck()
{
    Step=$3
    if [ $Step -gt 60 ]; then
        echo '间隔秒数不能超过60,当前间隔秒数为:'$Step
        exit 0
    fi

    ProcessName=$1
    ProcessMustNum=1
    RunCommand=$2

    for (( i = 0; i < 60; i=(i+$Step) )); do
        ProcessRunNum=`ps -ef | grep -v grep | grep $ProcessName | wc -l`
        if [ $ProcessRunNum -lt $ProcessMustNum ]; then
            RunResult=`$RunCommand`
            if [ $? -ne 0 ]; then
                echo $RunCommand 'error';
            fi
        fi
        sleep $Step
    done
    exit 0
}

#10秒钟检测一次nginx
ProcessCheck 'nginx' '/usr/local/nginx/sbin/nginx' 10

Demo:ProcessCheck

[查看全文]

[长期更新]macOs系统常用

用户与用户组操作

##查看所有用户组
$ dscacheutil -q group

#显示所有users对应的group:
$ sudo dscl . -list /groups GroupMembership  

#添加user到group:
$ sudo dscl . -append /Groups/groupname GroupMembership username  

#从group中删除user:
$ sudo dscl . -delete /Groups/groupname GroupMembership username

设置用户文件权限umask

$ sudo launchctl config user umask 002

修改Launchpad展示数量


# 调整每一列显示图标数量, 建议13寸的修改为7个
$ defaults write com.apple.dock springboard-rows -int 7      

#调整每一行显示图标数量,建议13寸的修改为7个
$ defaults write com.apple.dock springboard-columns -int 7

#重置Launchpad
$ defaults write com.apple.dock ResetLaunchPad -bool TRUE;killall Dock


[查看全文]

© 2015 - 2017 sixsir.com All rights reserved. | Powered by Syx | 粤ICP备15064720号

Up ↑