Linux常用命令2

一、常用调度工具

azkaban
rundeck
airflow:需要写Python
linux自带调度:crontab

  • crontab -e:编辑
  • crontab -l:查看
#编辑调度脚本
crontab -e
insert编辑
* * * * * /root/byy/test.sh >> /root/byy/test.log #将test.sh的内容追加到test.log文件中
保存退出

#查看调度文件内容
crontab -l
* * * * * /root/byy/test.sh >> /root/byy/test.log

调度周期即5个*:每分 每小时 每天 每月 每周(crontab最细周期到分钟)
被调度文件需要可执行

示例:每10秒调度一次

实现方式:每分钟调度6次(可以将调度文件设置成执行6次,每10秒执行一次;然后调度周期设置为1分钟)

#编辑源文件
vim /root/byy/test.sh
#让脚本循环执行6次
for ((i=1;i<=6;i++;do date;sleep 10s;done;exit
或
i=1
while [ $i -lt 6 ];do date;let i=$i+1;sleep 10s;done
保存退出

#编辑调度文件
crontab -e
* * * * * /root/byy/test.sh >> /root/byy/test.log #将test.sh的内容追加到test.log文件中
保存退出

#查看文件内容追加过程,即调度过程
tail -F /root/byy/test.log
Mon Feb  1 16:56:56 CST 2021
Mon Feb  1 16:57:06 CST 2021
Mon Feb  1 16:57:16 CST 2021
Mon Feb  1 16:57:26 CST 2021
Mon Feb  1 16:57:36 CST 2021
Mon Feb  1 16:57:46 CST 2021

二、后台执行(终端退出后命令仍旧执行)

  • 路径/文件 &
  • nohup 路径/文件 &
    (常用)手动启动脚本、看日志是否报错、开发维护、测试(自动把执行结果放在nohup.out文件中,若执行报错,也会将错误显示在此文件中)
  • nohup 路径/文件 > 路径/目标文件 2>&1 &
    生产上用(将标准错误2输出到标准输出&1中,标准输出&1再重定向输入到目标文件中,其实就是把错误日志输出到目标文件中)

若要停止运行,可以找到文件在后台执行的进程pid
ps -ef |grep 文件名
然后杀掉进程
kill -9 pid

chmod 644 ./byy4.txt #给文件赋予执行权限
nohup ./byy4.txt & #后台执行文件
cat nohup.out #查看执行结果(也可以看出是否报错)
ps -ef |grep byy4.txt #查看进程pid
kill -9 pid #杀掉进程
常见报错一:说明文件没有执行权限

输入 nohup ./byy4.txt & 出现以下报错

nohup: ignoring input and appending output to 'nohup.out'
nohup: failed to run command './byy4.txt': Permission denied

解决措施:给文件执行权限或用命令执行

chmod 644 ./byy4.txt
或
nohup /bin/bash ./byy4.txt &
常见报错二:说明文件没有加路径

文件要带路径,避免报错
输入 nohup byy4.txt & 出现以下报错

nohup: ignoring input and appending output to 'nohup.out'
nohup: failed to run command 'byy4.txt': No such file or directory

解决措施:给文件带上路径

nohup ./byy4.txt &

三、软连接(类似于一个文件夹映射到新文件夹中)

ln -s 源文件夹 目标文件夹

  • 配置目标文件夹后,源文件夹也适用这个配置
    软连接可以用于软件配置,以便于升级:每安装一款软件时,先建立软连接,然后在环境变量里把软连接的目标文件夹配置好。升级时,先删除低版本软件的软连接,再新建新版本软件的软连接(目标文件夹名称不变);这样就不需要配置新版本的源文件了,因为目标文件夹在环境变量里的配置可以直接适用与新版本文件夹
  • CDH升级时,源文件不见后,目标文件名中的源文件名会跳动,此时可以寻找源文件是否被移走,或者直接删除目标文件夹,新建软连接

示例:升级软件

#在安装mysql5.6以后,就建立mysql软连接,配置好环境变量
ln -s /opt/mysql5.6 /opt/mysql
ll #查看软连接是否建立(mysql -> /opt/mysql5.6)
drwxr-xr-x. 2 root root 6 10月 31 2018  rh
drwxr-xr-x. 2 root root 6 10月 31 21:51 mysql5.6
lrwxrwxrwx. 1 root root 5 2月  1  21:59 mysql -> /opt/mysql5.6

#MySQL升级
mv /opt/mysql5.6 /tmp/mysql5.6 #此时mysql -> /opt/mysql5.6中的/opt/mysql5.6会跳动,表示/opt/mysql5.6已经不存在当前路径了
#删除mysql5.6的软连接,新建mysql5.7的软连接
rm -rf /opt/mysql
ln -s /opt/mysql5.7 /opt/mysql
ll #查看软连接是否建立(mysql -> /opt/mysql5.7)
drwxr-xr-x. 2 root root 6 10月 31 2018  rh
drwxr-xr-x. 2 root root 6 10月 31 21:51 mysql5.7
lrwxrwxrwx. 1 root root 5 2月  1  21:59 mysql -> /opt/mysql5.7

#新版本mysql的软连接建立成功,名称未变还是mysql,所以环境变量也不需要重新配置,直接使用mysql5.7即可

示例:CDH 的Hbase的log文件换盘
例如,系统盘 / 是50G,数据盘 /data01 是2T,而CDH的log文件是存储在系统盘/var/log/hbase/xx.log中,大小为1G;而/var/log/hbase/xx.log会自动备份10份,也就是占内存10G,此时对系统盘的占用过大,那么就可以将其转移到数据盘,然后建立软连接到系统盘,此时就减少了系统盘的内存压力

#在/data01中新建文件夹存储Habase日志,并将系统盘日志迁移到文件夹中
mkdir /data01/log
mv /var/log/hbase /data01/log

#新建软连接
ln -s /data01/log/hbase /var/log/hbase
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值