crontab定时

linux中的信号:

    终止进程siging  Ctrl  +   C
    暂定进程  Ctrl  +   Z
    杀死进程  kill -9

后台运行脚本

后台运行脚本 在脚本名 空格 + & eg: ./bgtext &
查看当前作业命令 jobs
前台重启作业命令 fg 空格 + 作业号
后台重启作业命令 bg 空格 + 作业号
对与多个在后台运行的作业,可以设置优先级来制定系统设置分配每个进程的CPU时间

    作业优先级** 
    优先级范围: -20(高)  ---- 19(低)
    优先级设定: nice
    优先级重设:renice

eg:
nice -n 10 ./bgtext > temp &
设置优先级为10 并重定向到temp文件 (nice -n 范围 ./脚本 & )
eg:
修改正在运行作业优先级 renice 10 -p 进程号
查看当前命令的优先级 ps al
设置小于0优先级 作业 需要sudo renice -2 -p 进程号

./bgtest > temp & 后台运行脚本重定向到temp(退出脚本停止运行)
nohup ./bgtest & 退出脚本仍在运行,(ls, 后台会生成文件)
查看nohup.out文件cat nohup.out

定时运行脚本

命令格式  `at   [ -f  filename]   time`
时间格式  10:15    
         10:15~PM
         now, noon, midnight, teatime
         Jul 14、Dec 25
         now + 25min

unbantu  默认没有at命令 安装 `sudo apt-get install  at`

如不需要邮箱  `at   -M  -f   ./attest  18:18`  (-M不指定邮件发送, -f指定脚本  时间 运行时间)
查看文件运行结果 `cat atresult` 
`at   -M  -f   ./attest  now`   文件立即运行
查看文件运行结果 `cat  atresult`
查看运行脚本运行队列  `atq` 
删除未运行脚本  `atrm   +  作业号`

指定周期运行脚本

查看cron 时间表格式 vim /etc/crontab
查看cron时间表更多命令 ls /etc/cron*
这里写图片描述
可以把将要运行的脚本复制到相应文件夹下,按周期去运行
如果自己定义时间,需要自己设置
查看当前用户的计划时间表crontab -l
添加用户时间表crontab -e
这里写图片描述
cron时假设系统24小时运行的,在指定的时间未有开机,那么指定的计划任务就不被执行
如果解决上述问题?需要执行异步cron(最小时间为周)
vim /etc/anacrontable
这里写图片描述

启动时运行脚本

  • 系统启动时运行
    自定义开机运行脚本,配置相应文件

        debian     /etc/init.d/rc.local
        Ubuntu     /etc/rc.local
        openSUSE   /etc/init.d/boot.local
        CentOS     /etc/rc.d/rc.local

    eg:Ubuntu
    vim /etc/profile
    sudo vim /etc/rc.local

        ``
    
  • shell启动时运行

猜你喜欢

转载自blog.csdn.net/a6864657/article/details/81785001
今日推荐