首页
学习
活动
专区
工具
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

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

相关·内容

比较两个日期大小和获取当前月最大天数的存储过程

下面简单介绍sqlserver2008两个常用的存储过程 1、比较两个日期大小的存储过程 2、获取当前月份的最大天数的存储过程 1、创建比较两个日期大小的存储过程 1)创建比较两个日期大小的存储过程.../*** ** 作用:比较两个日期的大小 **输入参数:第一个日期,第二个日期 **输出参数:返回结果 **/ create proc [dbo]....-08-13 14:23:34',@IsCompare output 3)执行结果 第一个日期小于第二个日期 1 第一个日期大于第二个日期 0 2、获取当前月份的最大天数的存储过程 1)创建存储过程.../*** *获取系统当前月的最大天数 ***/ create proc [dbo]....[sp_GetMaxDay] @Day varchar(30) output --返回天数 as begin --取到当前日期 select GETDATE() --取到当前日期与

5400

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

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

3.1K20
  • 域名有效期监控的最佳方案

    今天分享一个使用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.9K20

    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脚本调用系统命令来完成批量任务。

    84920

    Shell编程-案例(二)

    作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。...从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。...(一) Shell编程-案例(二)(本章节) Shell编程-小结 前面讲了2个脚本,一个是备份数据库,一个监测服务的,今天我们来继续讲2个脚本,都是和文件相关的。..." # 获取当前日期 date_str=$(date +%Y%m%d) # 创建备份目录(如果不存在) mkdir -p $backup_dir # 移动当前日志文件到备份目录并以日期命名 mv $...fi fi done 脚本解释 这个脚本也是都有注释,所以不需要单独解释,唯一需要解释的就是stat命令,它可以显示文件的3个时间(访问时间,修改时间,改变时间)。

    9410

    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.5K10

    备忘几个有用的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

    49780

    几个有用的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

    37320

    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.7K10

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

    大家好,又见面了,我是你们的朋友全栈君。 用户和组管理 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.5K10

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

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

    2.6K60

    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.5K41

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

    因为只要保留最近几天的备份,如果可以做一个批处理让系统自动删除老备份文件就好了,但是Windows的命令行和Linux的Shell比起来功能差了很多,到底行不行我自己也不清楚。...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.4K10

    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命令行与shell脚本编程大全》第十六章 控制脚本

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

    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

    10.4K10
    领券