后台执行、crontab调度和软连接的使用场景

目标

  1. 整理 后台执行脚本
  2. 整理 rundeck 视频 部署
  3. 整理 crontab 每隔10s
  4. 整理 软连接 场景 坑

整理后台执行脚本

后台执行后命令有三个,分别是:

./test.sh &
nohup ./test.sh &
nohup ./test.sh > /root/test.log 2>&1 &

一般使用第三条

[root@aliyun ~]# nohup ./show.sh >> ./show.log 2>&1 &    #输出重定向
[4] 18637
[root@aliyun ~]#
[root@aliyun ~]# tail -F show.log     #实时接收输出内容
nohup: ignoring input
Thu Nov 21 17:07:58 CST 2019
Thu Nov 21 17:08:08 CST 2019
Thu Nov 21 17:08:18 CST 2019
Thu Nov 21 17:08:28 CST 2019
Thu Nov 21 17:08:48 CST 2019

整理 rundeck 视频 部署

https://www.bilibili.com/video/av35466584?from=search&seid=1197620829255678947

整理 crontab 每隔10s

Linux自带的任务调度工具 crontab 的调度单位分别是 分、时、日、周、月 最小的划分粒度是分钟,因此不能解决秒级别的调度问题,

* 代表每次,如 * / 6 代表每6分钟执行一次

但是换一种思路,我可以把调度代码包在循环体中,这个循环体执行6次,每次sleep 10s ,加起来就是分钟,即每分钟执行6次,每次间隔10秒

#!/bin/bash
for((i=0;i<6;i++));
do
date
sleep 10s
done

这样打印出来的结果是间隔10秒

[root@aliyun ~]# ./show.sh 
Thu Nov 21 17:19:23 CST 2019
Thu Nov 21 17:19:33 CST 2019
Thu Nov 21 17:19:43 CST 2019
Thu Nov 21 17:19:53 CST 2019
Thu Nov 21 17:20:03 CST 2019
Thu Nov 21 17:20:13 CST 2019

4.整理 软连接 场景 坑

软连接的使用: ln -s 源文件路径 目标文件路径

[root@aliyun ~]# ln -s test.txt test
[root@aliyun ~]# ll
total 24
-rw------- 1 root root 5 Nov 21 17:03 nohup.out
-rw-r--r-- 1 root root 45 Nov 12 23:21 print.sh
-rw-r--r-- 1 root root 196 Nov 21 17:08 show.log
-rwxr--r-- 1 root root 58 Nov 21 17:07 show.sh
drwxr-xr-x 2 root root 4096 Nov 17 10:24 size.log
lrwxrwxrwx 1 root root 8 Nov 21 17:23 test -> test.txt
-rwxr-xr-- 1 root bigdata 198 Nov 18 11:47 test.txt
[root@aliyun ~]#

使用场景:

  1. 作为源文件的快捷方式存在,好处:升级源文件的时候只需要重新创建软连接,注意:环境变量中不能写源文件的路径,必须写软连接文件

    [root@aliyun~]# ll
    total 5
    lrwxrwxrwx 1 root root 8 Nov 21 17:23 mysql -> mysql5.6
    drwxr-xr-x 2 root root 6 Nov 20 21:33 mysql5.6 #低版本部署
    drwxr-xr-x 2 root root 6 Nov 20 21:33 mysql5.7 #通过软连接来切换升级文件
    drwxr-xr-x 3 root root 44 Nov 17 23:13 ruozedata
    -rw-r--r-- 1 root root 846 Nov 17 23:12 ruozedata.zip
  2. 作为数据盘在系统盘中日志写入目录的软连接,好处:日志写入和存储多个文件需要占用大量的磁盘,把日志的存储位置换到了数据盘中

    mkdir /data01/log/  #创建数据盘下的日志目录
    mv /var/log/hbase /data01/log/  #移动系统盘的日志文件到数据盘
    ln -s /data01/log/hbase /var/log/hbase  #数据盘的日志文件再软连接到系统盘

:软连接文件创建后的文件和源为文件权限不同,必须注意和修改软连接文件和目标文件的权限

建议:在创建软连接的时候,源文件路径和目标文件路径推介使用绝对路径

Author: Tunan
Link: http://yerias.github.io/2018/09/21/linux/5/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.