1、Shell脚本怎么定义?答:shell为命令解析器,第一行固定的写法一般是#!/bin/sh 或 #!/bin/bash,其中脚本一般存放在/etc/rc中。 2、echo怎么输出一句话?答:echo ${a} 或者echo $a 3、默认变量有哪些?答:$# 传入脚本的命令行参数个数$* 所有命令行的参数值,在各个数值之间留
1.初始化日志文件。对文件的大小进行判断和压缩 2.写日志
转载
2019-05-23 11:31:00
336阅读
2评论
我的博客已迁移到xdoujiang.com请去那边和我交流
1、日志结构
/opt/online/{123com,abccom}/log/online[1-9]/[a-z]
2、变量说明
#是否开启压缩功能(0:关闭,1:开启;若关闭压缩功能,则compressdayn无效)
needcompress=1
删除14天以前的日志
deldayn=14
前1天
lastdayn=1
服务类型
all
原创
精选
2015-05-19 17:29:25
2735阅读
需求实现进度回顾需求分析,有两个需求还未实现:显示当前的调用关系,这个功能在1.0中可以实现,但2.0中有更简便的方法重要信息换颜色展示,之前讨论过可以先搁置技术积累这部分名字或许该改成“点亮技能树”日志模块优缺点优点之前已在实现模块时做总结,上个图直接聊缺点缺点未能记录脚本执行全过程写脚本时潜意识预期:绝大多数逻辑都能顺利执行无需在意结果,只有主观认为需要记日志时才调用几个函数。例如:Info
原创
精选
2024-03-03 22:25:53
140阅读
日志模块1.0解决了要做什么和怎么做两个问题,2.0要解决的问题是怎么做的更好。针对1.0的不足,在改进思路的同时,更多使用Shell特性来实现需求。需求分析区分日志来源先把日志来源分为主被动和主动两种被动来源是指脚本执行全过程调试脚本一般使用bash -x script.sh,显示脚本执行全过程,输出是混合结果。例如:#!/bin/bash
ls -l /not_exist
ls -l /v
原创
2024-03-04 12:41:45
27阅读
曾经我的Shell脚本只有几十至上百行,几乎不需要写日志。后来脚本越来越复杂,“debug脚本报错” 和 “编写脚本后的调试” 占用了大量时间。站在SRE的角度,这些工作成为了“琐事”和“长尾问题”。于是写一个Shell脚本的日志模块,成为重要但不紧急的需求。日志模块1.0看起来有点简陋,因为它在十多年之前写成,回顾1.0是为总结方法和思路。需求分析把Shell脚本写日志的功能理解成echo "
原创
2024-03-03 18:39:32
51阅读
function log() {
echo >&2 -e "[$(date +"%Y-%m-%d %H:%M:%S")] ${1-}"
}
function die() {
local msg=$1
local code=${2-1} # Bash parameter expansion - default exit status 1
原创
2023-06-12 23:08:21
154阅读
按照前文的需求和设计,实现日志模块1.0。先展示最终效果,在脚本中调用Info Cau Warn记录日志:# 日志文件保存到"./log.log"
strLogPath="."
strLogName="log.log"
Info 正常信息
sleep 1
Cau 警告信息
sleep 1
Warn 错误信息,脚本退出
sleep 1
Info 不会执行到这里结果输出包含时间、PID、U
原创
精选
2024-03-03 21:26:44
147阅读
展示效果在此先展示效果,再讲如何实现。Log4Bash.sh 有以下几个参数可供配置:LogDIR 和 LogFile 指定日志位置,默认值为 /tmp 和 当前进程pid.logShowLogPath 默认值0,表示脚本执行结束时不显示日志位置。没配置 LogDIR 和 LogFile 时用户不知道日志位置,ShowLogPath 会自动改为1并显示日志位置LogTimer 默认值0,设置为1时
原创
精选
2024-03-04 12:49:08
163阅读
具体实现方法改造Warn函数日志模块1.0的Warn函数实现了2个功能:记录日志和退出脚本。2.0中用Shell特性分别实现。1.0手工判断脚本执行是否出错,2.0使用bash -e开启错误检测模式。任何一行命令的返回值$?不为0,都会认为出错并退出。trap命令可以捕捉到上述错误,可以像注册回调函数一样,让trap调用函数记录日志#!/bin/bash
LogsDIR=logs
LogFile=
原创
精选
2024-03-04 13:22:16
128阅读
日志文件名规划如果日志文件名始终是log.log会有两个弊端。首先刚才的例子已经能看出,脚本多次执行日志都混在一起,查找之前某天某次的日志会变得很困难。其次日志文件体积会持续增长,清理某个时间点之前的日志会变得很困难。所以写入日志时需要加入日期时间等标记。加入日期时间假设大家已经精通date命令,日志文件名加日期时间需要在日志文件名中追加,如strLogPath="."
strLogName="l
原创
精选
2024-03-03 21:36:13
172阅读
具体实现方法记录脚本执行全过程前面讲过使用bash -x开启调试功能显示脚本执行全过程,与命令报错一起显示在标准错误。标准错误默认是终端,与标准输出混在一起,需要把标准错误重定向给日志文件。#!/bin/bash
LogsDIR=logs
LogFile=output.log
mkdir -p ${LogsDIR}
# 重定向标准错误
exec 2>>${LogsDIR}/${Log
原创
精选
2024-03-04 13:05:33
152阅读
使用nutch开源的搜索引擎抓取网页信息,通过计划任务crontab执行shell脚本,并将启动信息记录进日志文件,但是每次都会出现乱码,如图所示经过反复测试,排除了java程序问题,文件权限问题,系统字符集的环境变量问题(en_US.UTF-8),发现手动执行shell脚本不会出现乱码,写在计划任务里自动执行就会出现乱码,最后确定是计划任务crontab执行脚本问题。问题原因:因为Unix/Li
原创
2013-05-29 12:49:40
6472阅读
1评论
# 学习在 JavaScript 中进行日志追加
在现代开发中,日志记录是了解应用程序行为的重要组成部分。在 JavaScript 中,我们可以方便地实现日志的追加。本文将详细讲解如何在 JavaScript 中实现日志追加,并提供相应的代码示例和说明。
## 流程概述
在实现 JavaScript 日志追加的过程中,我们可以按照以下步骤进行:
| 步骤 | 描述
原创
2024-08-19 06:37:31
27阅读
# Python脚本日志分割
作为一名经验丰富的开发者,我将教你如何实现Python脚本日志分割,帮助你更好地理解并掌握这一技术。本文将分为以下几个部分进行讲解:
1. 流程概述
2. 每一步的代码实现
3. 应用场景和注意事项
## 1. 流程概述
在开始编写代码之前,我们先来了解一下整个流程。下面的表格展示了日志分割的步骤:
| 步骤 | 描述 |
| --- | --- |
| 1
原创
2023-12-17 05:45:06
79阅读
loadrunner 中的lr_set_debug_message函数简单理解
原创
2015-12-15 17:56:49
1063阅读
Java调用Shell脚本是一种常见的需求,尤其在处理一些系统级任务时非常有用。在本文中,我们将详细介绍如何使用Java来调用Shell脚本,并且在执行过程中打印日志信息。
## 什么是Shell脚本?
Shell脚本是一种在Unix/Linux系统上运行的脚本语言,用于执行一系列的命令。通过Shell脚本,我们可以自动化执行一些重复性的任务,或者批量执行一些系统级操作。
## Java调用S
原创
2023-08-18 10:12:45
376阅读
# Shell脚本执行MySQL打印日志教程
作为一名经验丰富的开发者,你将要教授一位刚入行的小白如何使用Shell脚本来执行MySQL并打印日志。下面将为你详细介绍整个过程,并提供每一步所需的代码以及注释。
## 整体流程
以下是整个流程的步骤表格:
| 步骤 | 动作 | 代码 |
| --- | --- | --- |
| 1 | 连接到MySQL数据库 | `mysql -u -
原创
2023-08-10 17:09:35
432阅读
代码gitte源码 : https://gitee.com/yangqinglinzp/test/tree/master/log-test日志依赖 看pom.xml日志生成规则看 logback.xml我这里用的是每小时生成下面粘上 jar包shell启动脚本#!/bin/sh
# 该脚本为Linux下启动java程序的脚本
#
# author: luandy
# date: 2021/1/1
转载
2023-09-06 15:05:06
150阅读
概述在实际的工作中,经常会遇到执行sql的情况。有人觉得执行sql很简单,登录服务器,sqlplus连接数据库执行就完了。但是这种情况需要我们手动去登录sqlplus,今天给大家分享的就是使用shell脚本执行sql语句,实现自动化部署。1. 准备sql脚本edsp_update.sqlselect 'edsp_update.sql' as EDSP_EAPS_ID from dual;
alte
转载
2023-06-09 13:34:50
796阅读