【发布时间】:2020-08-21 17:39:15
【问题描述】:
我几乎是 bash 脚本的新手,仍在学习过程中,但我试图完成相对简单的任务,但超出了我的理解范围。
我的输出文件带有标识符、机器名称和 MySQL 转储的配置时间,如下所示:
id;server.name;time_in_hour
文件的每一行。
我需要的是循环,它将“time_in_hour”与备份机器上“server.name”文件夹中文件的时间戳进行比较。备份文件的路径如下:
/dumps/server.name/2020-05-06___10-49-00___sys.sql.gz
如果没有最大的备份文件。时间长度 2x “time_in_hour”(例如:实际时间 -4 小时,对于文件夹中的每个转储文件,备份计划为 2 小时),或者如果根本没有备份,脚本将打印错误输出。在理想情况下,脚本的第二个条件是检查每个转储文件的结尾是否一致,例如 grep 字符串“转储完成”。
转储文件示例结束:
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /; /!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION /; /!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- 转储于 2020-03-02 23:58:29 完成
我仍然不能完全确定哪种工具更适合完成“约会”或“查找”任务?或者如何实际构建这种类型的嵌套循环?有多种情况...你能给我举个例子吗?
【问题讨论】:
-
在您的问题中添加几行 mysql 转储(无评论)。