Linux 第39天 计划任务、脚本执行控制
时间:20180829
目录
nohup
时间同步程序
计划任务
linux小知识
cent7进入紧急救援模式
cent7清理临时文件tmp下的文件所用的服务
睡眠命令
脚本执行控制
lsof
nohup 后台执行某命令不受终端结束而结束
如 nohup ping 192.168.0.1
此时如果终端断开也不会影响此命令的后台运行
小括号将前台进程放至后台运行
(ping 172.0.0.1 &);(ping 172.0.0.20 &);(ping 172.0.0.30 &);
大括号将前台进程放至后台运行(注意括号两边必须要有空格)
{ ping 127.0.0.1 & ping 127.0.0.20 & ping 127.0.0.30 & }
时间同步程序
ntpdate
一个可以将远程主机所提供的时间同步至自己的机器上
安装包名ntp
安装后会生成此文件/etc/ntp.conf
将其中的server 字段加一个自己的ntp服务器IP
启动服务 service ntpd start 此时便会同步远程服务器的时间至本地主机
chrony
此为centos7上使用的时间同步工具也是基于ntp协议实现的,只是此同步时间软件
不会瞬间将服务器时间同步至本地,如果服务器时间为8:00am 本地时间为8:00pm
同时是不会瞬间将时间改为8:00am而是慢慢的将时间改为8:00am中间会有过度时间
计划任务
一次性计划任务at(在未来的时间定义某个任务只执行一次)
建议将定义的计划任务的标准输出重定义至/dev/null
atd
at
-c 查看某个job
-f 指定一个文件来做为任务
-l 列出一次性计划任务
-m 指定任务结束会发送邮件给用户,即便没有输出也发邮件
-d 删除某任务
禁止某系统用户使用at计划任务
at.deny
at.allow(优先)
若两个文件都不存在则所有普通用户都无法使用at计划任务
所有的at队列都存放在/var/spool/at/
周期性计划任务cron(定义后会再每隔指定的时间执行某任务)
程序包 cronie crontabs
30 2 1,10 * sun 表示1号10号执行脚本或周日也会执行
分时月日周
特殊表示方式 1,2 即表示所在位置的对应此两个数值,如月则表示1月份和2月份
*/2 每隔2个单位执行一次,,如分钟上则表示每2分钟执行一次任务
1-5 表示连续5个单位执行一次,如周上设置表示周一至周五
crontab 周期性计划任务编辑工具(含带语法检查作用)
-e 编辑计划任务
-l 列出计划任务
-u 列出指定用户的计划任务(管理员权限)
-r 移除计划任务
-i 交互与-r合起来使用即删除之前会有提示确定要删除不
crontab配置加色彩 增加环境变量 EDITOR=vim
/var/log/cron cron的日志
linux小知识
比如忘记root密码时则可在linux16一行最后加上
cent7进入紧急救援模式
rd.break
即可进入紧急模式
cent7清理临时文件tmp下的文件所用的服务
systemd-tmpfiles-setup(服务centos7上使用)
睡眠命令
即当在脚本中执行某命令后需要等一段时间再执行其它命令则可使用
sleep 指定暂停多少秒后再执行下一条指令后可加单位默认为s还有m,h
usleep 后所跟的为微秒即1000微秒为1毫秒,如果不加数值则默认为1微秒
killall -0 statu.php &>/dev/null 判断进程是否存在
脚本执行控制
条件判断
if list; then list; [ elif list; then list; ] ... [ else list; ] fi
list为判断条件可以是命令的执行状态码或条件判断[]、test
case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac
word为变量 pattern用来匹配此变量
循环
for name [ [ in [ word ... ] ] ; ] do list ; done
使用时一般是已知循环次数
lsof (list open files)查看当前系统文件的工具
在linux环境下,一切皆文件,用户通过文件不仅可以访问常规数据,还可以访问网络
连接和硬件如传输控制协议(TCP)和用户数据报协议(UDP)套接字等,系统在后台都为
该应用程序分配了一个文件描述符。
-c<进程名> 列出指定进程所打开的文件
-g 列出GID号进程详情
-d<文件号> 列出占用该文件号的进程
+d<目录> 列出目录下被打开的文件
+D<目录> 递归列出目录下被打开的文件
-p<进程号> 列出指定进程号所打开的文件
-u<用户名> 列出指定用户打开的文件
lsof 恢复删除文件(提前是文件虽然删除但是还有进程访问此文件)cent7下
lsof|grep /var/log/message
rm -f /var/log/messages
lsof|grep /var/log/message
会查看到一个进程ID
cat /proc/653/fd/6
cat /proc/653/fd/6 > /var/log/message
转载于:https://blog.51cto.com/winthcloud/2167058