【发布时间】:2015-09-26 18:18:21
【问题描述】:
我有大量文件,每个文件都将被解码、排序/最小化,然后放入数据库中。这些操作中的每一个都有自己的 bash 脚本。这些文件被分类为每日文件,这些文件位于它们连续的每月文件夹中。问题是只有一个数据库,一张表(SQLite),所以数据库脚本一次只能在一个文件上运行,而解码和排序可以同时在大约四个文件上完成。
要排序的文件必须经过解码过程,要放入数据库的文件必须经过解码和排序。这些脚本的运行时间是不一样的,我相信解码是禁食,然后是输入,然后是排序。
每个 bash 脚本 decode.sh sort.sh saveintodb.sh 循环遍历文件夹中的所有文件并执行其工作。
最初我以为有一个执行decode.sh-> sort.sh-> saveintodb.sh 的主脚本
每个文件夹(月)。
但是,由于预计这需要几天时间,我想到了这样的事情:
1: decode.sh January
2: sort.sh January, decode.sh February
3: saveintodb.sh January sort.sh February decode.sh March
4: saveintodb.sh February sort.sh March decode.sh April
等.. 直到 12 月。
但是,我不知道如何设置它,以一种好的方式。我知道我可以在2: 中并行运行脚本,但是我不太确定如何在 2: 完成后自动运行脚本 3:。
我也不确定这是否是最好的方法。理想情况下,有一个解码脚本、一个排序脚本和一个 saveintodb 脚本一直在运行。甚至可能有几个解码和排序脚本(不知道这是否会加快处理速度,遗憾的是我正在使用外部 HD)。
数据量: 1.3 TB
数据类型:文本文件
背景:位置报告(纬度/经度、时间)
抱歉这么长的文字,有什么建议吗?
【问题讨论】:
-
这是业余爱好,还是专业工作?换句话说,你有多认真?如果是为了工作,那就麻烦了!
-
有点严重,但我在硬件/金钱和时间上都有限制,所以我不得不遗憾地用我的笔记本电脑和外接高清。
-
彻底搞砸你会付出怎样的代价?想象一下丢失笔记本电脑和磁盘?你自己的时间呢?
-
请编辑您的问题以改进它,并说明动机和所有这些事情的意义(例如数据的种类和数量)。如果这有点严重,您的笔记本电脑+外部磁盘+sqlite方法是一个巨大的错误,您肯定会丢失所有数据(和一些硬件)。外部磁盘(和笔记本电脑)并非设计为 24 小时/24 小时运行
-
即使你是一个挨饿的学生,为你的论文做这件事,你也应该投入一些钱(和很多你的努力)。
标签: python linux bash shell ubuntu