首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

比较shell脚本中文件的上次修改日期和当前日期

在shell脚本中,可以使用stat命令获取文件的上次修改日期和当前日期,并进行比较。

  1. 文件的上次修改日期可以通过stat -c %Y 文件路径命令获取,其中%Y表示输出时间戳。
  2. 当前日期可以通过date +%s命令获取,其中+%s表示输出当前时间的时间戳。

比较文件的上次修改日期和当前日期的步骤如下:

  1. 获取文件的上次修改日期和当前日期的时间戳。
代码语言:txt
复制
last_modified=$(stat -c %Y 文件路径)
current_date=$(date +%s)
  1. 比较时间戳,判断文件是否在当前日期之前修改过。
代码语言:txt
复制
if [ $last_modified -lt $current_date ]; then
    echo "文件在当前日期之前修改过"
else
    echo "文件在当前日期之后修改过"
fi

这样,我们就可以通过shell脚本比较文件的上次修改日期和当前日期了。

在云计算领域,可以使用腾讯云的云服务器(CVM)来运行shell脚本。云服务器是一种基于云计算技术的虚拟服务器,具有高性能、高可靠性和弹性扩展等特点。您可以通过腾讯云控制台或API创建和管理云服务器实例,然后通过SSH登录到实例上执行shell脚本。

腾讯云云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

bash shell:脚本修改profile文件更新LD_LIBRARY_PATH示例

流编辑器则会在编辑器处理数据之前基于预先提供一组规则来编辑数据流。 于是我们可以利用sed编辑器在安装脚本实现对profile文件修改。...下面我们以一个实际应用例子来说明: 我已经有一个叫CASSDK项目,这个项目没有可执行文件,只是一组动态库文件提供别的应用程序调用(比如java),需要为它写一个安装脚本脚本作用是将在将文件复制到指定安装目录...另外还要写一个卸载脚本,在删除安装目录后,同时将profileLD_LIBRARY_PATH变量也同步修改。...(UNINSTALL.sh)片段,用sed修改profile文件,删除安装脚本添加export语句 # 定义安装目录位置变量 cassdk_path=/home/gdface/cassdk # 将cassdk_path...字符串特殊字符/.替换为\/\.

3K20

域名有效期监控最佳方案

今天分享一个使用shell脚本实现域名有效期监控 不喜欢开场白,还是直接上干货... #!.../bin/bash #检测域名是否过期 #作者:xuexiaobai@shell.com #日期:20200224 #版本:v0.1 #当前日期时间戳,用于域名到期时间做比较 currentTimestamp...}' \ https://hooks.slack.com/services/*****/xxxxxxx/qqqqqqqqqqqqqqqqqqqqqq fi } #检测上次运行...for d in baidu.com google.com do notify $d done 以上脚本需要注意几个地方: 脚本中使用是slack通知方式,如果你选择使用slack,需要修改一下...hooks地址 可以自定义控制检查有效期时长,控制是还有多少天过期进行通知,修改shell脚本那个 n变量 放在一个定时任务运行就可以了.

1.8K20
  • linux服务器搭建之路13-用户用户组管理

    用户/用户组管理是管理员绕不开必备技能。 1. 与用户相关系统文件 centos与用户相关系统文件有两个:/etc/passwd/etc/shadow。...(6) 用户家目录。 (7) 用户shell。除了/bin/bash外还有/sbin/nologin比较多,它表示不允许该账号登录,建立账号时添加-s选项指定第七段值。...(3) 上次更改密码日期,这个数字是这样计算得来,距离1970年1月1日到上次更改密码日期,例如上次更改密码日期为2012年1月1日,则这个值就是365*(2012-1970)+(2012-1970...-d 指定用户家目录,是会在/etc/paswd文件修改。...批量创建用户并修改密码 用倾向用python脚本调用系统命令来完成批量任务。

    84620

    python 删除前3天文件

    删除前3天文件 2.如果目录为空,也一并删除掉 如果使用shell脚本,一条命令就搞定了。干啥还要用python? 1. 因为需要记录一些日志,使用shell不好实现 2....获取文件修改时间 在os模块,有一个方法os.path.getmtime(),可以获取文件修改时间。...re_date.strftime('%Y-%m-%d'))  # 前3天日期 执行输出: 2018-11-21 2018-11-18 时间比较 那么问题来了,上面的文件修改时间是一个时间戳格式。...执行输出: 当前日期 2018-11-21 前3天日期 2018-11-18 文件修改时间 2018-11-20 17:00:03 未超过3天,无需处理! 3. 空目录一并删除 怎么说呢?...模块,请参考链接: https://www.cnblogs.com/xiao987334176/p/8920181.html#autoid-0-2-0 三、正式脚本 这个脚本,是参考了上面链接 使用栈统计目录大小

    3.2K20

    做测试一定要知道EFI Shell 命令参考

    bcfg 显示(或修改)驱动程序(或引导配置)。 boottest 设置(或查看)BootTest 位。 dbprofile 显示/修改要由 lanboot 使用直接引导配置文件。...date 显示当前日期或设置系统 (nPartition) 日期。 dimmconfig 取消配置(或重新配置)内存 (DIMM)。 err 显示(或更改)错误级别。...文件系统命令 — EFI Shell 用于管理文件、目录属性命令。 attrib 显示(或更改)文件(或目录)属性。 cd 更新(或查看)当前目录。 comp 比较两个文件内容。...hexedit 使用 hex 编辑文件、块设备或内存区域。 ls 显示目录文件列表子目录。 mkdir 创建一个或多个目录。 mount 在块设备上挂接文件系统。...endfor 仅限脚本:FOR 循环结构分隔符。 endif 仅限脚本:IF THEN 结构分隔符。 for 仅限脚本:循环结构。 goto 仅限脚本:跳至脚本标签位置。

    1.4K10

    备忘几个有用shell脚本

    ‍(1)在shell下,操作hadoop目录,批量命名或删除,最终命令sed正则贪婪替换,看下面的脚本: ‍ # 遍历 hadoop 目录下文件名      for line in `hadoop... fs -ls /user/d1 | gawk '{ print $8 }' `   do      #echo $line;         #将2级目录下文件,移动到上一级   #hadoop fs...id,并以后台方式挂起运行,脚本例子如下:  [search@fse4 solr]$ cat start.sh    #下面的代码,将当前启动上次启动进程id记录下来   #方便关闭时,kill掉  ...   #$$记录当前进程id,$!...记录上次启动进程id   #nohup 是后台挂起线程方式运行,并将日志文件输出到nohup.out里面,进行监控    nohup java -jar start.jar  &> nohup.out

    49680

    几个有用shell脚本

    (1)在shell下,操作hadoop目录,批量命名或删除,最终命令sed正则贪婪替换,看下面的脚本: ‍ # 遍历 hadoop 目录下文件名      for line in `hadoop ...fs -ls /user/d1 | gawk '{ print $8 }' `   do      #echo $line;         #将2级目录下文件,移动到上一级   #hadoop fs...id,并以后台方式挂起运行,脚本例子如下:  [search@fse4 solr]$ cat start.sh    #下面的代码,将当前启动上次启动进程id记录下来   #方便关闭时,kill掉...      #$$记录当前进程id,$!...记录上次启动进程id   #nohup 是后台挂起线程方式运行,并将日志文件输出到nohup.out里面,进行监控    nohup java -jar start.jar  &> nohup.out

    37020

    EFI Shell 命令参考

    date 显示当前日期或设置系统 (nPartition) 日期。 dimmconfig 取消配置(或重新配置)内存 (DIMM)。 err 显示(或更改)错误级别。...文件系统命令 — EFI Shell 用于管理文件、目录属性命令。 attrib 显示(或更改)文件(或目录)属性。 cd 更新(或查看)当前目录。 comp 比较两个文件内容。...hexedit 使用 hex 编辑文件、块设备或内存区域。 ls 显示目录文件列表子目录。 mkdir 创建一个或多个目录。 mount 在块设备上挂接文件系统。...rm 删除一个或多个文件(或目录)。 setsize 设置文件大小。 touch 使用当前时间更新文件(或目录)时间。 类型 显示文件内容。 vol 显示文件系统卷信息。...endfor 仅限脚本:FOR 循环结构分隔符。 endif 仅限脚本:IF THEN 结构分隔符。 for 仅限脚本:循环结构。 goto 仅限脚本:跳至脚本标签位置。

    1.6K10

    组态王系统管理员默认密码_管理没有本地用户

    大家好,又见面了,我是你们朋友全栈君。 用户组管理 a) 用户分类 i....d 目录 指定用户家目录,如果此目录不存在,则同时使用-m选项,可以创建主目录 -g 用户组 指定用户所属用户组也称为主组 -G 用户组, 指定用户所属附加组 -s Shell文件 指定用户登录...Shell脚本类型 -u 用户号 指定用户编号,如果同时有-o选项,则可以重复使用其他用户标识号 备注: 使用 useradd 用户名 创建一个用户会默认完成如下操作 1.创建一个用户 2....在/home/目录下创建一个用户名同名家目录 3.还会创建一个用户名同名组 4.还会将创建用户信息保存到/etc/passwd文件 5.还会将默认密码保存到/etc/shadow...符号标识该帐号不能用来登录) (3):上次修改密码日期(相对于1970年1月1日天数差) (4):密码不可被变更天数 (最近更改之后几天之内不能修改,0表示随时可以修改) (5):密码过期天数

    1.3K10

    shell脚本介绍,shell脚本结构执行方式,date命令用法,shell脚本变量简介

    Shell Script,Shell脚本与Windows/Dos下批处理相似,也就是用各类命令预先放入到一个文件,方便一次性执行一个程序文件,主要是方便管理员进行设置或者管理用。...Shell脚本文件名称是以.sh为后缀,用于区分这是一个shell脚本shell注释符是井号“#”,其他编程语言一样,注释那一行内容不会被解释器执行,但是要注意区别“#!”...date命令在shell脚本作用很大,例如我在备份某个文件或者记录某些日志信息时候,就可以使用这个命令给这些备份文件或日志信息标记一个时间。...shell脚本变量其他编程语言中变量含义是一样,都是用来存储一个数据,然后使用变量名就可以进行调用了,shell脚本语法其他脚本语法类似,都不需要使用分号作为语句结束。...变量类型: 运行shell时,会同时存在三种变量:   1) 局部变量 局部变量在脚本或命令定义,仅在当前shell实例中有效,其他shell启动程序不能访问局部变量。

    2.5K60

    linux命令行与shell脚本编程大全鸟哥私房菜_linux进入命令行

    重定向 管道( | ) 执行数学运算 退出脚本 九、使用结构化命令 if语句 test命令 数值比较字符串比较 文件检查 复合条件测试 if-then 高级特性 case命令 十、更多结构化命令...非交互式shell使用BASH_ENV环境变量,它可以继承父shell导出过变量,使用当前shell局部变量全局变量。...环境变量持久化 : 在/etc/profile.d 目录创建一个以.sh结尾文件。把所有新或者修改全局变量设置放在这个文件。...登录名: 加密后密码: 自上次修改密码后过去天数(自1970年1月1日开始): 多少天后才能修改密码: 多少天后必须更改密码: 密码过期前多少天提醒用户更改密码: 密码过期后多少天禁用用户账户: 用户账户被禁用日期...(修改已有用户密码), chpasswd(从文件读取登录名密码对,并更新密码), chage(修改密码过期日期), chfn(修改用户账户备注信息), chsh(修改用户默认登录shell)

    2.4K30

    Linux账号管理

    在Linux,用户账户信息用户组信息都记录在指定文件,这些文件构成了Linux用户管理基础。下面我们就详细介绍Linux用户管理相关文件。 Linux账号文件 1....2.3 最近修改密码日期 这个字段记录了上次修改密码时间。 这个字段表示从1970-1-1到上次修改密码天数。...如上述root密码修改时间为16477,也就是1970-1-1往后16477天,也就是2015年2月11日。 2.4 密码不可以被修改天数 这个值是从上次修改时间算起,密码不可以被修改天数。.../etc/group 这个文件记录是GID用户名名对应关系。...2.1 passwd passwd [-参数 参数值] 用户名 PS:不加用户名表示修改当前账户密码。 2.1.1 -l 将账号锁住,实则将shadow文件密码改为!

    6K70

    黑客 Shell 神技:掩盖 Linux 服务器上操作痕迹

    当然,这些踪迹也可通过 Shell 脚本等方法来隐藏。 寻找攻击证据就从攻击者留下这些痕迹开始,如文件修改日期。每一个 Linux 文件系统每个文件都保存着修改日期。...然而幸运是,修改时间不是绝对可靠记录,修改时间本身可以被欺骗或修改,通过编写 Shell 脚本,攻击者可将备份恢复修改时间过程自动化。...操作步骤 第一步:查看操作时间戳 多数 Linux 系统包含一些允许我们快速查看修改时间戳工具,其中最具影响的当数 “Touch”,它允许我们创建新文件、更新文件 / 文件组最后一次被 “touched...touch file 若该文件不存在, 运行上面的命令将创建一个名为 “file” 文件;若它已经存在,该命令将会更新修改日期当前系统时间。我们也可以使用一个通配符,如下面的字符串。...如果需要确定当前年份,我们可以分配为写脚本年份,也可以从系统返回年份,使用 cal 命令可以查看日历。

    1.4K41

    CMD批处理——forfiles命令使用,自动删除过期备份文件

    因为只要保留最近几天备份,如果可以做一个批处理让系统自动删除老备份文件就好了,但是Windows命令行LinuxShell比起来功能差了很多,到底行不行我自己也不清楚。...d:\test换成你要目录路径。日期是指修改日期。 附上forfiles.exe及帮助。.../d 指定一个日期或天数,用于比较文件最后修改日期是否符合条件。 /c 对每个找到文件执行命令。...% rem 设置处理日期脚本文件路径 set scriptFile=%tempDir%\get_date.vbs rem 获得要保留天数 set days=%~1 if "%days%" == "...fileSpec=%~3 if "%fileSpec%" == "" set fileSpec=*.* rem 生成计算日期脚本文件并获得删除截止日期 echo d=date()-%1 > %scriptFile

    4.2K10

    《Linux命令行与shell脚本编程大全》第十六章 控制脚本

    一些控制脚本方式:向脚本发送信号、修改脚本优先级,在脚本运行时切换到运行模式  16.1 处理信号 linux利用信号与运行在系统进程进行通信。...会发送给当前shell运行所有进程。 2.暂停进程 在进程运行时暂停进程,无需终止它。让程序继续保留在内存,并能从上次停止位置继续运行。 有时打开了一个关键系统文件锁,这就比较危险了。...trap命令允许你来指定脚本要监看并从shell拦截linux信号。 如果脚本收到了trap列出信号,该信号不再由shell处理,而是交由本地处理。...16.1.5 修改或移除捕获 在脚本不同位置进行不同捕获处理,需要重新使用带有新选项trap命令。 修改了信号捕获后,脚本处理信号方式就会发生变化。 也可以删除以及设置好捕获。...这样终端退出时脚本也不会退出。 命令格式: $nohup ./test & nohup会自动将STDOUTSTDERR消息重定向到一个名为nohup.out文件

    3K61

    shell日期格式化

    days’ (100天以前日期) $ date -d ’50 days’(50天后日期) 这个技巧非常有用,它可以根据将来日期为自己设置提醒,可能是在脚本Shell 启动文件,如下所示...m-%d %H:%M:%S" -r test.bak 2008-07-01 21:28:55 linux中用shell获取昨天、明天或多天前日期: 在Linux对man date -d 参数说比较模糊...显示时间后跳行,再显示目前日期 : date +%T%n%D 显示月份日数 : date +%B %d 显示日期设定时间(12:34:56) : date --date 12:34:56 设置系统当前时间...days’ (100天以前日期) $ date -d ’50 days’(50天后日期) 这个技巧非常有用,它可以根据将来日期为自己设置提醒,可能是在脚本Shell 启动文件,如下所示...; fi 例子:编写shell脚本计算离自己生日还有多少天?

    1.4K20

    linux efi shell,EFI Shell 命令说明「建议收藏」

    bcfg 显示(或修改)驱动程序(或引导配置)。 boottest 设置(或查看)BootTest 位。 dbprofile显示/修改要由 lanboot 使用直接引导配置文件。...cpuconfig 取消配置(或重新配置)处理器处理器核心。 date 显示当前日期或设置系统 (nPartition) 日期。...文件系统命令— EFI Shell用于管理文件、目录属性命令。 attrib 显示(或更改)文件(或目录)属性。 cd 更新(或查看)当前目录。...命令行操作都是比较熟悉,其实这也是Hadoop极大 … Shell命令流程控制 Shell命令流程控制 在shell脚本可以使用三类命令: 1)Unix 命令: 虽然在shell脚本可以使用任意...unix命令,但是还是由一些相对更常用命令.这些命令通常是用来进行文件和文字 … 在程序执行shell命令 在linux系统下操作我们会经常用到shell命令来进行,一开始学习进程时候对于shell

    9.9K10

    【Linux操作系统】理论知识常用指令(二)

    回顾一下我们上次讲解内容: 目录 1.剪切&重命名命令 mv 2.查看文件任意位置内容(重点) 2-1用shell脚本创建一个长文本  2-2查看文件内容 cat  2-3 拒绝刷屏,只下翻模式&...>> 3-4 cat & 输入重定向<  3-5 查看中间 4.查看日期 ---- 上次我们说到Linux下复制命令,那么Linux中肯定也有类似windows下剪切命令~~ 1.剪切&重命名命令...test1.c剪切到上级目录            如果 mv test1.c  p1 就是将普通文件test1.c剪切到当前工作目录下p1目录            如果 mv test1...(重点) 2-1用shell脚本创建一个长文本 //shell脚本: count=0;while [ $count -le 1000 ]; do echo "hello ${count}"; let count...因为通过nano来查看文件内容是需要打开nano编辑器,并且是以一种交互方式可修改file.txt, 在一些场景下,我们只查看文件内容而不需要修改文件内容,这时就需要使用cat指令。

    51040

    shell脚本结构、date命令、变量 原

    /bin/bash” 脚本内容以#开头行作为解释说明 编写脚本时备注:作者、时间、功能等信息,方便之后查看 脚本名字用“.sh”结尾,用于区分这是一个shell脚本 执行方法 给脚本添加执行权限“...) 参数: :指定日期时间显示格式 显示当前时区的当前时间: [root@localhost sbin]# date 2017年 09月 03日 星期日 19:36:32 CST...20.4 shell脚本变量 当脚本中使用某个字符串较频繁,并且字符创长度很长,此时就应该使用变量来代替该字符串。...shell脚本预设变量 有时候使用类似/etc/init.d/iptables restart命令,前面的/etc/init.d/iptables文件其实就是一个shell脚本,后面的字符串restart...$1$2即为shell预设变量,分别为脚本第一个参数第二个参数,shell脚本预设变量是没有限制,注意$0位脚本本身名字。

    72621
    领券