shell脚本date前两天
时间: 2023-08-16 22:10:49 浏览: 306
要获取前两天的日期,可以使用`date`命令结合`-d`选项和相对日期格式来实现。下面是一个示例的shell脚本:
```shell#!/bin/bash# 获取当前日期current_date=$(date +%Y-%m-%d)
# 计算前两天的日期previous_date=$(date -d "$current_date -2 days" +%Y-%m-%d)
echo "前两天的日期是:$previous_date"
```
上述脚本中,`date +%Y-%m-%d`用于获取当前日期,然后使用`-d`选项加上相对日期格式`-2 days`计算前两天的日期,最后使用`+%Y-%m-%d`格式化输出。运行该脚本将会输出前两天的日期。
相关问题
如何使用shell脚本定时清除/fghi下超过三天的文件
你可以通过编写一个简单的bash shell脚本来定期清理`/fghi`目录下的过期文件。这里是一个基本的例子:
```sh
#!/bin/bash
# 定义目标目录
dir="/fghi"
# 指定清理日期(三天前)
days_ago=3
threshold_date=$(date -d "$(date -d 'now' -${days_ago} days) +00:00" +%Y-%m-%d)
# 使用find命令查找并删除超出指定日期的文件
find "$dir" -type f -mtime +$days_ago -delete
# 如果你想设置定时任务,可以将此脚本添加到crontab中,例如每天凌晨两点运行
echo "0 2 * * * /path/to/your/clear_script.sh" | crontab -
# 保存并立即执行脚本(仅用于测试,生产环境中请勿直接这么做)
# chmod +x clear_script.sh
# ./clear_script.sh
```
在这个脚本中,我们首先获取当前时间减去三天的时间作为阈值,然后使用`find`命令找出`/fghi`目录下所有`mtime`(修改时间)大于三天的文件,并使用`-delete`选项直接删除。
如果你想要将其设置为定时任务,你需要将脚本路径替换为你实际存放该脚本的地方,并按照cron的语法(比如`0 2 * * *`表示每天凌晨两点)添加到系统crontab配置中。
**
阅读全文