我在 CIFS 共享上有一个目录,其中包含 10000 多个文件,其中CCLLLTTTFFFFNNN YYYY-MM-DD
至少包含许多格式为. 在哪里:
- 服务器名称包括:
CC
= ISO 国家名称LLL
= 位置(最近城市的 IATA 代码)TTT
=WIN
或UNX
(以及为什么它是 CIFS 共享)FFFF
= 服务器的功能nnn
= 数字
- 空间
- 一个约会
- 有时更多的文本包含带空格的单词
- 扩展名(总是)
不再为公司工作的人设置了这个,所有服务器都将他们的日常日志全局转储到那里,加载文件列表需要很长时间! 每个需要原木的人都会抱怨和抱怨 ,但从来没有人做过任何事情,所以我开始为我做一些事情。
想法:
为什么不提供一个简短的目录列表,而不是一个长长的文件列表,其中包含服务器名称至少短 2 个数量级,以及cron
每天将所有这些文件移动到目录中的脚本?¹
我有什么?
bash
- 进入
gcc
- 对 CIFS 共享的写入权限(显然)
- Manjaro,Arch 的衍生产品
- 开发办公室
到目前为止我做了什么?
ls /mnt/logshare/*UNXSAP* > ~/Documents/logs/logshare.txt
- 将 logshare.txt 导入 OpenOffice Calc
- 使用服务器名称创建目录
mv
使用 Calc 和公式生成大量命令
- 将其复制粘贴到 shell 脚本中
- 执行shell脚本
但:
- 我成了自己成功的牺牲品
- 安全和应用程序组已经看到我的目录突然出现,并希望我不要成为这样的自我主义者,并为每个人都这样做。
- 没有真正的开发人员,没有真正的脚本编写者。
- 我已经考虑了一个星期,甚至不知道从哪里开始。
awk
?find
? 又开始写C代码了?(20 多年没有这样做了。不幸的是,我变成了我一直害怕的东西:西装......) ;-( - 每当添加新服务器时,应自动创建一个目录
- 脚本应该每天运行
有没有人已经为他们自己的服务器/数据文件集合解决了这个问题,并且已经有这样一个bash
脚本(C 源?)方便我可以修改?如果没有:请提供有用的提示?
注 1:是的,明智的做法是让服务器将其日志转储到以服务器名称命名的目录中,但这是推出、CAB 和其他令人头疼的事情,比如动员全世界服务器管理员...
为每个服务器创建目录
我们所做的:
-type f
在 logshare 目录而不是其子目录中搜索文件(并且仅文件)(-maxdepth 1
)cut
我们-u
唯一条目相应地移动文件
尝试,