目录
目录
shell编程
1.计划任务
chrony 是linux里的管理时间的服务,可以与互联网上的时间服务器同步时间
chrony daemon chrony守护进程
service chronyd start/stop/restart 开始 停止 重启 chronyd 服务
systemctl enable/disable crond 设置crond服务开机启动/不启动
服务 -> 进程
&>/dev/null 将输出重定向到null文件(null文件不会进行保存)
crontab -l 查看计划任务
crontab -e 编辑一个计划任务
编辑模式与vim编辑器一致
计划任务标准格式 分 时 日 月 周 命令
,用于间隔时间
- 用于连续时间段
* 用于所有时间
*/n 用于n时间的周期进行
每个用户创建的新的计划任务会以一个和用户同名的文件夹存放于/var/spool/cron文件夹中
但可能会被黑客所利用,或者通过顺风车安排在系统本身设定好的计划任务文件中,用某些脚本对服务器信息进行窃取
如果想删除计划任务,可以直接将对应的命令注释或删除,又或者将执行命令中的文件夹取消掉让命令无法完成
2.判断
判断文件还是文件夹
[ -d /lianxi ] directory
判断文件是否存在
[ -f /etc/passwd ] file
判断文件或者文件夹是否存在
[ -e /abcd.txt ] exist
判断字符串的长度是否为零
[ -n $sg ] nozero
[ -z $sg ] zero
判断文件是否可读/可写/可执行
[ -r /etc/passwd ] 读 read
[ -w /etc/passwd ] 写 write
[ -x /etc/passwd ] 执行 execute
在命令执行后通过echo $? 看返回值是否为0来进行判断,为0则为真,非0则不为真
通过 “字符1” = “字符2” 来判断两个字符是否相等
3.if语句
if 命令 ;then
命令
else
fi
4.date 命令
date命令用于查询时间
通过 +%Y 查询当前年份
通过 +%m 查询当前月份
通过 +%d 查询当前天数
通过 +%H 查询当前小时
通过 +%M 查询当前分钟
通过 +%S 查询当前秒数
- s 选项可以指定当前的时间
ntpdate time.windows.com 用于和时间服务器time.windows.com同步时间,用以纠正当前时间与系统时间的偏差
5.输出重定向
>
>>
正确输出重定向,将执行正确的命令的输出重定向到其他位置
2>
2>>
错误输出重定向,将执行失败的命令的输出重定向到其他位置
&>
%>>
无论命令成功或者失败,都将输出重定向到其他位置