前言:
如题所示,本文是从0开始,面向新手的。
有一定基础的同学,可以自行跳到自己有需要的部分,进行选择观看。
本文章涉及的所有命令和脚本,都经过笔者亲测可用。
如有问题或笔误,欢迎沟通和指正。
一、shell脚本的相关知识和第一个shell脚本例子编写;
对于没接触过shell脚本的朋友,我们先来写一个shell脚本的例子;
1.首先建立一个shell脚本;
在linux上vim demoShell.sh
#/bin/bash
# shell语法中#是注解,上面的#/bin/bash是脚本启动项,一般shell脚本都以这个为开头;
# echo是输出,sh执行脚本的时候,就会把双引号里面的内容展示出来。
# 也可以通过>>(不覆盖之前内容)或者>(覆盖之前内容)将执行时候的echo内容写到指定的地方形成日志;
echo "demoShell start."
# [`date +%y%m%d/%H:%M:%S`]是获取系统当前时间,年月日,时分秒的函数。
#在此输出是为了后面做定时任务,校验定时任务是否生效;
echo "[`date +%y%m%d/%H:%M:%S`]"
echo "demoShell finish."
可以执行sh demoShell.sh,linux上就会展示输出上面3个echo内容;
2.再写一个启动demoShell.sh的启动脚本runDemoShell.sh,用上面说的>>方法,将执行 demoShell.sh的情况记录到对应文件夹的路径中,方便有错误时候的排查定位;
#/bin/bash
# 1>>的意思是正常运行输入的正常日志,2>>是error日志输入到error日志;
sh /home/admin/demoShell.sh 1>>/home/admin/copyDataShellLog/copyDataShellLog.log 2>>/home/admin/copyDataShellLog_err/copyDataShellLog_err.log
二、用corntab建立定时任务;
首先先了解一下corntab相关知识和常用命令;
crontab 指定执行用户:
可以进入配置文件。此时配置crontab的执行者是当前登入用户,
如果当前用户是root,需要为其他用户配置,可以使用crontab -e -u 用户名。
//查看用户命令;
crontab -l
//设置定时脚本;
crontab -e
//每分钟执行一次;
*/1 * * * * sh /home/admin/runDemoShell.sh
例子:
每 10min 执行一次任务;
*/10 * * * * /scripts/monitor.sh
每四个小时执行一个任务;
0 */4 * * * /scripts/script.sh
常用命令:
//重载配置;
/sbin/service crond reload
//定时启动;
/sbin/service crond start
//定时关闭;
/sbin/service crond stop
//定时重启;
/sbin/service crond restart