【发布时间】:2017-08-31 00:20:56
【问题描述】:
我有一个 bash 脚本,它将 ssh -tq 进入远程框并执行多个命令。
像这样的:
if [[ $answer = 1 ]] ; then
ssh -tq box "
cd /biglogs/
sudo ls -g ./$host1/2017/$month1 | tail -5
sudo tail /$folder1/$host1/`date +%Y`/$month1/`date +%d`/$host2"
fi
所有变量都在 ssh 进入删除框之前定义。我的问题是我不确定如何删除最新的文本文件。如您所见,当前 sudo 尾部将进入 /folder1/$host1/`date +%Y`/$month1/`date +%d`/$host2"。
$host1 和 folder 和 $month 在 ssh 之前由用户输入定义。我想要的是让这个脚本尾随文件夹$month 中的最新文本文档。
目录格式如下test1.test.t/2017/08/31/test1.test.1.txt
目前我的脚本将尝试用当天的日期跟踪文本文档,所以如果我要输入第 02 个月(查询将是 test1.test.t/2017/02/),脚本将添加 31(今天)所以它将是 test1.test.t/2017/02/31/,我们都知道它不正确。
对于将其标记为欺骗并使用 -d 的人,我认为这是不正确的。 文件夹结构是 /folder1/host/年/月/日/host.log 目前脚本将采用实际日期,例如今天 2017/08/31 但是如果该盒子自 2017/08/20 以来一直处于离线状态怎么办,因此文件夹 2017/08/31 中将没有日志文件。尽管如此,我的脚本仍会尝试当前日期。我的问题是如何强制脚本使用月份文件夹中的最后一个日期
【问题讨论】: