linux shell 编程笔记 - 后台执行命令crontab

后台执行命令,就是把shell命令放到系统后台去执行,不会在终端显示,不会影响用户在终端继续工作;就算终端关闭了命令也一样在执行。

名词解释:

1)、cron    系统调度进程;
    2)、at    at命令,在特定的时间运行特殊的作业;
    3)、&    在后台运行一个占用时间不长的进程;
    4)、Nohup    在后台运行一个命令,即使用户退出也不受影响。
1、crontab命令:

crontab命令,用于定期执行shell作业。crontab是以crontab文件的形式向cron进程提交作业的。

crontab命令是周期性执行作业。

root用户可以通过/etc目录下的cron.deny和cron.allow来禁用和启用用户拥有自己的crontab文件。

2、crontab的域说明:

第1列    分钟1~59
    第2列    小时1~23(0表示子夜)
    第3列    日1~31
    第4列    月1~12
    第5列    星期0~6(0表示星期天)
    第6列    要运行的命令(可以是shell命令,也可以是shell脚本文件)
3、crontab的格式:

 分<>时<>日<>月<>星期<>要运行的命令    #<>表示空格

说明:

1)、如果一个时间域,用*代替,说明是任意数;
    2)、如果一个时间域,要填写多个数,可以通过逗号分隔;
    3)、如果一个时间域,要填写一段持续的时间,可以通过-分隔;
实例:
    30 21 * * * /apps/bin/cleanup.sh    #每天晚上21:30执行/apps/bin目录下的cleanup.sh这个shell脚本;
    10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;    #每周六、周日的1:10执行find命令查找文件并删除文件;
    0,30 18-23 * * * /apps/bin/dbcheck.sh    #每天18:00~23:00,每30分钟执行一下shell脚本;
注意事项:
1)、向cron提交作业,执行shell脚本文件时,需要使用绝对目录来指定shell脚本文件;
    2)、shell脚本中,使用的环境都需要在shell中定义清楚;
    3)、向cron提交作业之前,要配置EDITOR环境变量,目的是让cron进程知道,使用什么编辑器来执行crontab文件。
        编辑用户$HOME目录下的.profile文件(  gedit ~/.profile  ),添加以下内容:
        EDITOR=vi; export EDITOR
4、创建新crontab文件:

1)touch cbcron
    2)gedit cbcron    #加入以下内容
# echo something to file every 10 minutes between 14 and 18
5,10,15,20,25,30,35,40,45,50,55 14-18 * * * /bin/echo 'hell cb!' >> /home/cb/Documents/cbhello
3)提交crontab:    crontab cbcron
    4)列出crontab:    crontab -l
    6)备份crontab:    crontab -l > $HOME/mycron    #把crontab备份到用户根目录的mycron文件;
5、编辑crontab文件:
crontab -e    #系统会用设置好的EDITOR环境变量指定的编辑器打开crontab;

6、删除crontab文件:

crontab -r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值