shell脚本获取当前时间戳(shell 脚本执行日志怎么才能带有时间戳)

:暂无数据 2026-09-16 11:20:34 :0

shell脚本获取当前时间戳(shell 脚本执行日志怎么才能带有时间戳)

本篇文章给大家谈谈shell脚本获取当前时间戳,以及shell 脚本执行日志怎么才能带有时间戳对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

shell 脚本执行日志怎么才能带有时间戳

封装一个写log的shell lib,定义如下函数
#!/bin/sh
function write_log()
{
local logType=$1
local logMsg=$2
local logName=$3
echo "$logType : `date +%Y-%m-%d\ %T` : $logMsg" 》》 $logName
}
# 按照如下方法调用,可以看到log.txt里面打印了日期啦
write_log FATAL "something error" log.txt

shell转换时间格式问题

  date +%s 可以得到UNIX的时间戳;
  用shell将时间字符串与时间戳互转:
  date -d "2010-10-18 00:00:00" +%s 输出形如:1287331200
  而时间戳转换为字符串可以这样做:
  date -d @1287331200 "+%Y-%m-%d" 输出形如:2010-10-18
  如果需要得到指定日期的前后几天,可以:
  1、seconds=`date -d "2010-10-18 00:00:00" +%s` #得到时间戳
  2、seconds_new=`expr $seconds + 86400` #加上一天的秒数86400
  3、date_new=`date -d @$seconds_new "+%Y-%m-%d"` #获得指定日前加上一天的日前

如何用Shell截取nginx最近10分钟的日志

用shell加awk实现过该功能,感兴趣请追问,下面介绍思路:
先去取得脚本执行时的时刻 例如:1495640600
然后计算得到10分钟前的时刻 为:1495640000
每行日志开头一般是时间,将用awk截取该时间,并利用awk自定义函数将时间转换成时间戳
例如 1495640432
1495640000 《 1495640432 《 1495640600
日志中某行的时间在当前时刻和10分钟前的时刻之间,则让awk打印该行,否则不打印

shell 将某个时间戳转化成时间字符串,比如将283838(即从1970年01月01号经过的秒数)转化成某年某月某日

按一个月30天粗略计算:
hour=`expr 283838 % 3600`
day=`expr $hour / 24`
hour=$((hour - day * 24))
month=`expr $day / 30`
day=$((day - month * 30))
year=`expr $month / 12`
month=$((month - year * 12))
year=`expr 1970 + $year`
month=`expr 1 + $month`
day=`expr 1 + $day`
printf "%d-%02d-%02d\n" $year $month $day

Jenkins 自动打包后打一个tag并同步到origin

由于我们的 tag 命名要求是 build 号加上当前时间戳,那么可以分为三步进行(整个过程在shell中执行):

在iOS Project中 build 号是写在 plist 文件中,所以要去读取 plist 文件。
shell 中读取 plist 文件的方法比较简单,利用的是Mac中操作 plist 文件的 PlistBuddy ,路径在 /usr/libexec/PlistBuddy 下,

组合起来使用下面一个shell即可:

1、打tag会遇到上传失败

这是ssh认证问题,
(1)去把自己的ssh pub key丢到你的gitlab的ssh key列表里
(2)然后在本地 cd ~/.ssh/ 进入到ssh目录, ls 查看下所有的ssh key
(3) ssh-add xxx 把这个key应用,如果成功,即可进行git的push等操作

在获取 plist 里面 build 号 以及 当前时间戳的时候,还可以利用python 2.7里面有个 biplist 库来解决。
1、本地安装 biplist 库: sudo easy_install biplist
2、新建一个 py 文件,放在与 info.plist 路径相同的文件夹下(不在一个路径下的话,脚本里 info.plist 做对应修改即可),然后开始写脚本:

Shell之date命令用法

date命令在shell脚本中用处很大,比如要在脚本中标记一个日志或者针对某个文件做更改,就可以使用date给它做一些装饰,比如每天备份mysql,最终生成一个.sql的文件,那么我们就可以针对这个文件加一个日期的标记,这样就可以很清晰的知道我们备份的这个文件是哪一天生成的或者周几生成的,等到下一个对应的周几,此时备份的sql文件就会自动地将上一个周同一天的备份文件覆盖掉,这样就不用删除文件

1、date

    # date      //显示系统当前日期和时间

    上面是date命令默认的输出格式,我们也可以将输出格式显示为英文

        # LANG=en     //将系统环境变量LANG设置为英文格式

        # date             //然后执行date命令,结果如下

2、年月日

    我们标记日期的方式一般的格式是:20180321  、 180321

    # date +%Y     //year,输出4位数年

    # date +%y     //输出2位数的年

    # date +%m   //m表示month,输出的结果是月份

    # date +%d   //d表示day,日

    # date +%D   //D表示特殊格式的日期表示方法,如下当前日期为2018年3月21日

我们还可以将上面的年月日组合在一起输出

    # date +%Y%m%d   //输出年月日

    # date +%F   //输出的年月日会用连字符隔开

3、时分秒

    # date +%H     //H表示hour小时

     # date +%M   //M表示minute分钟

    # date +%S    //S表示second秒

    # date +%s    //输出结果是一个时间戳,表示距离1970年1月1日0时0分过去多少秒

    # date +%T    //以下面格式输出时分秒

    # date +%H:%M:%S   //效果跟上条命令一样

4、星期

    # date +%w    //输出结果为星期几,比如下图表示当前系统时间是星期三

    # date +%W   //表示当前为今年的第几周,比如我这里为今年的第12周

5、日历

    # cal     //展示日历

6、从当前时间往前或往后推算

    使用场景:比如我们切割日志在今天的0时0分,那么被切割出去的日志应该以昨天的日期来标记,因此需要倒推一天

    # date -d "-1day"   //当前系统时间为3月21日,输出结果为3月20日

    # date -d "-1day" +%F  

    # date -d "-1 month" +%F  //上个月

    # date -d "-1 year" +%F   //表示去年,year后面也可以加上s,day和month后也可以加上s

    其他的时分秒也诸如此类

7、时间戳

    # date +%s          //获取时间戳

    # date -d @1521563928         //将时间戳换算成日期

    # date +%s -d "2017-03-21 00:38:48"     //将日期换算成时间戳

shell脚本获取时间戳偶尔报错value too great for base

  在linux Shell中并没有毫秒级的时间单位,只有秒和纳秒。所以在shell中可以获取秒级时间戳,但是不能获取毫秒级时间戳。
  有时候确实需要毫秒级时间戳,于是使用秒和纳秒的时间戳来组合一下。通常我们看到的都是如下写法:

这个方法你快速地反复去执行,大概五六次就会出现一次报错 value too great for base 。

   date ’+%N’ 获取纳秒时获取的是一个字符串,而不是数字,且为了保证九位数,前面会补0,例如 073526864 。遇到首字母为0的字符串,shell正常的除法不能自动将其转换为数字(是的,虽然你看不到有数据类型,但是他是分数字和字符串类型的,并且使用的时候一般都隐含了类型转换,lua也有这个问题,被坑过无数次)。

  使用 expr命令 。

需要注意的是乘法符号 * 需要写成 \* ,不然无法识别为乘法符号。

shell脚本计算时间

为什么要用awk呢?
简单的进行时间转换就行了。不超过10行
redhat4环境下:
date.sh内容:
flag=$1
time1=`date -d "$flag" +’%Y-%m-%d %H:%M’`
echo $time1
time2=`date -d "$time1" ’+%s’`
echo $time2
time3=`expr $time2 + 180`
time4=`date -d "1970-01-01 UTC "$time3" seconds" +"%d-%b-%Y %H:%M"`
echo $time4
time5=`expr $time2 - 180`
time6=`date -d "1970-01-01 UTC "$time5" seconds" +"%d-%b-%Y %H:%M"`
echo $time6
检查结果:
# sh date.sh 00:00
2010-09-18 00:00
1284739200
18- 9月-2010 00:03
17- 9月-2010 23:57
# sh date.sh 00:12
2010-09-18 00:12
1284739920
18- 9月-2010 00:15
18- 9月-2010 00:09
每次执行结果最后两行就是你要的答案

shell 脚本执行日志怎么才能带有时间戳的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于shell 脚本执行日志怎么才能带有时间戳、shell 脚本执行日志怎么才能带有时间戳的信息别忘了在本站进行查找哦。

shell脚本获取当前时间戳(shell 脚本执行日志怎么才能带有时间戳)

本文编辑:admin

更多文章:


网关是什么怎么设置(网关到底是什么,不同的网络如何正确设置网关)

网关是什么怎么设置(网关到底是什么,不同的网络如何正确设置网关)

各位老铁们,大家好,今天由我来为大家分享网关是什么怎么设置,以及网关到底是什么,不同的网络如何正确设置网关的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月11日 08:30

me是国内域名吗(me域名的概况)

me是国内域名吗(me域名的概况)

本篇文章给大家谈谈me是国内域名吗,以及me域名的概况对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月11日 07:50

亚洲和欧洲的分界线简图(画出亚欧,亚非,南北美,亚洲北美洲和南美南极的分界线和名称.图片)

亚洲和欧洲的分界线简图(画出亚欧,亚非,南北美,亚洲北美洲和南美南极的分界线和名称.图片)

大家好,如果您还对亚洲和欧洲的分界线简图不太了解,没有关系,今天就由本站为大家分享亚洲和欧洲的分界线简图的知识,包括画出亚欧,亚非,南北美,亚洲北美洲和南美南极的分界线和名称.图片的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开

2026年10月11日 05:50

国内无需备案vps(服务器是否需要备案)

国内无需备案vps(服务器是否需要备案)

大家好,今天小编来为大家解答以下的问题,关于国内无需备案vps,服务器是否需要备案这个很多人还不知道,现在让我们一起来看看吧!

2026年10月11日 02:20

小鸟到处乱飞改为比喻句(小鸟在天上飞来飞去怎么改成比喻句)

小鸟到处乱飞改为比喻句(小鸟在天上飞来飞去怎么改成比喻句)

今天给各位分享小鸟在天上飞来飞去怎么改成比喻句的知识,其中也会对小鸟在天上飞来飞去怎么改成比喻句进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 01:30

学生包月接送(私家车包月接送学生怎么发朋友圈呢)

学生包月接送(私家车包月接送学生怎么发朋友圈呢)

各位老铁们好,相信很多人对学生包月接送都不是特别的了解,因此呢,今天就来为大家分享下关于学生包月接送以及私家车包月接送学生怎么发朋友圈呢的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 01:10

虚拟空间免root大全(gameguardian修改器免root安卓APK下载地址)

虚拟空间免root大全(gameguardian修改器免root安卓APK下载地址)

大家好,关于虚拟空间免root大全很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于gameguardian修改器免root安卓APK下载地址的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下

2026年10月11日 00:10

一个月临时宽带(通辽有临时办一个月的网吗)

一个月临时宽带(通辽有临时办一个月的网吗)

本篇文章给大家谈谈一个月临时宽带,以及通辽有临时办一个月的网吗对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月10日 23:40

外科医用口罩无菌和非无菌的区别(非无菌口罩和无菌口罩区别)

外科医用口罩无菌和非无菌的区别(非无菌口罩和无菌口罩区别)

今天给各位分享非无菌口罩和无菌口罩区别的知识,其中也会对非无菌口罩和无菌口罩区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月10日 23:00

腾讯qq macos正式版(qq资料封面自定义不见了)

腾讯qq macos正式版(qq资料封面自定义不见了)

本篇文章给大家谈谈腾讯qq macos正式版,以及qq资料封面自定义不见了对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月10日 20:40

最近更新

thinkpade470c加内存条(thinkpad e470c内存条是什么牌子如果要添加4g内存什么牌子比较好)
2026-10-11 09:00:03 浏览:0
frontpage的主要功能(frontpage是什么)
2026-10-11 08:40:18 浏览:0
热门文章

打印机m7400(m7400打印机清零方法)
2026-08-29 07:50:01 浏览:5
acrobat各版本区别(Acrobat XI Pro与 Acrobat PRO DC什么区别)
2026-08-29 22:30:20 浏览:2
联想y510p怎么升级(联想y510p换cpu)
2026-08-17 03:30:04 浏览:2
标签列表