【Linux】使用crontab实现定时执行脚本

Linux中,周期执行的任务一般由cron这个守护进程来处理ps -ef | grep cron
cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件称为crontab,是cron table的简写。

创建cron脚本

  1. 执行crontab -e,准备创建新的cron脚本
  2. --for 测试:在打开的cron文件中,输入下列的命令,看到效果成功之后,再把命令替换成--for 正式里的命令。
    第2步中的--for测试命令,若不想执行,可以直接跳过,到第3步
  • 保险起见,先写入以下简单的echo命令,测试一下效果。实现的效果是:每分钟,向/wqq/test.txt中打印test
*/1 * * * * echo "test" >> /wqq/test.txt
  • 保存文件
:wq
  • 查看效果
cd /wqq
vi test.txt

可以看到test.txt中,已经按照我们设置的cron命令,实现了每分钟打印一条test到该txt中。

test
test

  1. --for正式:实现效果,每天早上八点和晚上九点执行/wqq/blockchainrestart.sh,实现服务的重启。
    注:因为脚本执行服务重启时,有需要手工输入y的地方,才能继续执行下一步。所以使用了yes|sh 去默认yes,继续往下执行。
0 8,21 * * * cd /wqq/ & yes|/bin/sh blockchainrestart.sh

注:blockchainrestart.sh内容

#!/bin/bash
cd /wqq/go/src/github.com/hyperledger/fabric-samples/first-network3_bak/
./byfn.sh restart
cd /wqq/go/src/github.com/hyperledger/fabric-samples/first-network3_bak/scripts/
./script.sh
cd /wqq/go/src/blockchain-explorer/app/persistence/fabric/postgreSQL/db/
./createdb.sh
cd /wqq/go/src/blockchain-explorer
./stop.sh
./start.sh
echo "success"
done

参考链接

1.crontab定时任务
2.Linux下的crontab定时执行任务命令详解
3.linux 让 crontab 每天03点00 访问一次指定的url
4.linux shell安装模块自动跳过确认

你可能感兴趣的:(【Linux】使用crontab实现定时执行脚本)