Linux中,周期执行的任务一般由cron这个守护进程来处理ps -ef | grep cron
cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件称为crontab
,是cron table
的简写。
创建cron脚本
- 执行
crontab -e
,准备创建新的cron脚本 - --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
- --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安装模块自动跳过确认
网友评论