执行系统命令并且将输出写入到日志文件的shell脚本

大概需求是这样的,执行aix系统usysfault命令取故障灯信息,但是这个命令似乎只有root用户才能执行,其他用户执行就报错。想尽了各种办法赋权都以失败告终,所以想到写shell脚本用root用户来执行将结果写入到log文件中,然后我们来读文件取数据就好了,不用执行aix死活都不让我们执行的命令。

shell脚本如下:

! /usr/bash
while true   #循环执行

do
    {
        date +"%Y-%m-%d %H:%M:%S"     #取当前日期和时间
        uname        #要执行的命令
    } > patrol.log       #输出到日志

sleep 5      #执行周期是5秒

done

这个脚本就是取主机系统类型和时间存入log日志文件中,日志是覆盖存储的不是追加,永远只有一条记录。

用命令:

sh patrol.sh &

来后台运行该脚本一直循环取数。

时间: 2024-07-31 02:02:41

执行系统命令并且将输出写入到日志文件的shell脚本的相关文章

执行系统命令并且将输出写到指定日志文件的shell脚本(2)

上一篇是个简单的可以执行并且写入日志的脚本,但是如果放到生产环境上就显得太粗糙了,所以需要进一步的优化: #! /bin/bash if [ -d "/opt/bmc" ] ; then if [ -f "/opt/bmc/usysfault.log" ] ; then { date +"%Y-%m-%d %H:%M:%S" /usr/lpp/diagnostics/bin/usysfault #要执行的命令的绝对路径 } > /opt/b

【Shell实战】定期清理日志文件的shell脚本

功能描述:清理/var/log/路径下的messages历史日志文件(messages-date),但不清理messages文件本身 依赖要求:服务器上安装了bc模块 1 # clean_logs.sh 2 #!/bin/bash 3 4 # ========================================== 5 # 功能:清理/var/log/路径下的messages历史日志文件(messages-date),但不清理messages文件本身 6 # 方法:配合crontab

java web使用log4j无法写入到日志文件

项目环境 1.项目类型:java web 2.web容器:tomcat 3.框架:spring 4.调用代码:spring配置的定时任务,任务执行类用@Component注入(开始还以为是这里出了问题 ̄□ ̄||) 主要现象 1.启动tomcat后,发现日志无法写入 2.删除日志文件再次启动,日志文件没有新建 3.单独在类中执行main方法里的log操作可以写入到文件中 4.启动tomcat后,日志可以输入到控制台,但是不能写入到文件中 log4j.properties ####写入到文件!!没反

Linux定时对日志批量打包Shell脚本及定时任务crontab 详细用法

一.需求背景     因此次项目的生产环境中部署了多套系统,每天会产生大量的日志(数百GB的量),侵占了服务器宝贵的存储资源空间.为了有效缓解服务器存储压力,考虑通过Linux的Shell脚本结合crontab定时每周一对上周7天的日志打包压缩,并删除原被打包的日志文件,以腾出更多可利用的存储资源空间. 对于初次接触Shell脚本的同学,建议先花几个小时时间学习一下Shell.附Shell教程链接如下: http://www.runoob.com/linux/linux-shell-proces

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

遍历文件并格式化输出文件(shell脚本实现)

[背景] 1.项目开发中,急需要根据资源路径res下的文件,生成如下三种格式的文件. 格式一: #define IDR_CEF_0001 101 #define IDR_CEF_0002 102 ... #define IDR_CEF_0122 222 格式二: {"about.html", IDR_CEF_0001}, {"addProbe.html", IDR_CEF_0002}, - {"img/helpimg/help17.PNG", I

EXCHANGE 13/16清理IIS LOGS日志文件(含脚本)

EXCHANGE 2013\2016清除IIS LOGS 日志文件. 在完成安装后,即使EXCHANGE不安装在系统盘也会在系统盘下生成IIS日志文件,使用RPC overHTTP或Mapi overHTTP协议,所以都是IIS提供各种服务,这些日志是每次用户连接到exchange时的日志,可以用来诊断连接问题或者安全问题. 默认位置:C:\inetpub\logs\LogFiles(默认C为系统盘的话) 可以在IIS管理器里面更改存储目录为别的盘符,并直接删掉这些目录文件,也可使用脚本进行清理

日志文件报警监控脚本(可用于zabbix监控文件)测试中...

因业务要求,需要对某些日志文件中出现的关键字进行监控,所以写了个脚本用于直接用zabbix调用并返回超出阈值的监控项. 主要用来替代zabbix自带的文件监控项.可以对一台机器上的多个日志文件,多个触发阈值进行监控.不用配置多条zabbix监控项及触发器. 也许将来会逐步增加其他奇怪的监控内容 脚本代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- # Author: ColinShi import sys, os import datetim

ORACLE清理、截断监听日志文件(listener.log)

在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大,想必不少人听说过关于"LISTENER.LOG日志大小不能超过2GB,超过会导致LISTENER监听器无法处理新的连接",当然这个不是真理,不会绝对出现,只是发生在老旧的32bit Linux或Unix系统下面,真实的原因是一些32bit OS自带的文件系统不支持2GB以上的文件,导致监听服务进程(tnslsnr)append write日志文件