计算化学公社

标题: 高斯临时文件清理脚本 [打印本页]

作者
Author:
冰释之川    时间: 2021-1-6 11:11
标题: 高斯临时文件清理脚本
本帖最后由 冰释之川 于 2021-2-8 14:21 编辑

经常使用高斯的童靴难免会遇上一些非正常结束的高斯任务,久而久之,高斯临时目录($GAUSS_SCRDIR)里的垃圾文件也会越积越多,故有必要定期对该目录清理一下。
有些童靴在跑高斯任务的同时想顺手清一下临时目录里一些垃圾文件,但看到临时目录里一大堆垃圾文件一脸懵逼,生怕误删了当前正在使用中的一些临时文件。其实可以通过PID号(xxx)来判别Gau-xxx.*文件是否正在被使用,从而决定是否可以安全的删除之。

为了解放双手,本人写了一个小脚本(GT_Cleaner.sh),从而可以一键清理未被使用的高斯临时文件。

P.s.可以把该脚本加上可执行权限(chmod +x GT_Cleaner.sh)后放入高斯目录中作为一个一键清理小工具使用。

高斯临时文件清理脚本:
(, 下载次数 Times of downloads: 430)



作者
Author:
yygong    时间: 2021-1-6 14:58
不错,不错,谢谢分享
作者
Author:
wang7344412    时间: 2021-1-6 15:06
谢谢冰大。冒昧的提一个小要求,能不能也搞一个清理ORCA的临时文件的小脚本呢?再次感谢冰大!
作者
Author:
exity    时间: 2021-1-6 15:29
我操,这也能水分?
作者
Author:
冰释之川    时间: 2021-1-6 19:09
exity 发表于 2021-1-6 15:29
我操,这也能水分?

嘘,低调低调
作者
Author:
冰释之川    时间: 2021-1-6 20:09
本帖最后由 冰释之川 于 2021-12-2 08:07 编辑
wang7344412 发表于 2021-1-6 15:06
谢谢冰大。冒昧的提一个小要求,能不能也搞一个清理ORCA的临时文件的小脚本呢?再次感谢冰大!

ORCA临时文件都是直接产生在工作目录下的,并且名字都是诸如 *.tmp.*之类的。。如果任务失败了,直接把整个工作目录删了即可,用不着脚本吧?
作者
Author:
snljty    时间: 2021-1-6 20:25
我多数情况都是直接把$GAUSS_SCRDIR设成·pwd`(当前输入文件的目录)
作者
Author:
exity    时间: 2021-1-6 20:37
冰释之川 发表于 2021-1-6 19:09
嘘,低调低调

细看了SH,很有技术含量,俺写不出来!🐂
作者
Author:
冰释之川    时间: 2021-1-6 20:41
snljty 发表于 2021-1-6 20:25
我多数情况都是直接把$GAUSS_SCRDIR设成·pwd`(当前输入文件的目录)

这个可以有……
作者
Author:
朙天儿    时间: 2021-1-6 21:26
array_filename[${#array_filename[@]}]=${files%.*}

#@%.*@%.*%.*.** 冰大佬,此句何解?
作者
Author:
冰释之川    时间: 2021-1-6 21:39
本帖最后由 冰释之川 于 2021-1-6 21:47 编辑
朙天儿 发表于 2021-1-6 21:26
array_filename[${#array_filename[@]}]=${files%.*}

#@%.*@%.*%.*.**  冰大佬,此句何解?

类似于在python中给列表增加元素:
  1. >>> a = [1,2,3]
  2. >>> a.append(4)
  3. >>> a
  4. [1, 2, 3, 4]
复制代码
array_filename 是数组
${#array_filename[@]}是获取当前array_filename数组元素总数
由于array_filename 是从0开始索引,所以array_filename[${#array_filename[@]}]正好指向下一个待添加的新元素,这里把${files%.*}值赋给这个新元素,即相当于在数组末尾增添新的元素



作者
Author:
wang7344412    时间: 2021-1-6 23:02
冰释之川 发表于 2021-1-6 20:09
ORCA临时文件都是直接产生在工作目录下的,并且名字都是诸如 .*tmp.*之类的。。如果任务失败了,直接把整 ...

恩,是的。但是就是同时有个还在算,也不好全部都删,那我就等全部算完了然后删除吧。谢谢冰大!
作者
Author:
朙天儿    时间: 2021-1-7 07:56
感谢冰大佬。于是又去搜了两个符号说明。  

${parameter%word}${parameter%%word}
一个 % 表示最短的 word 匹配,两个表示最长的 word 匹配。


$@ 与 $* 具有相同作用的符号,不过两者有一个不同点。
符号 $* 将所有的引用变量视为一个整体。但符号 $@ 则仍旧保留每个引用变量的区段观念。
作者
Author:
冰释之川    时间: 2021-1-7 08:19
wang7344412 发表于 2021-1-6 23:02
恩,是的。但是就是同时有个还在算,也不好全部都删,那我就等全部算完了然后删除吧。谢谢冰大!

我建议ORCA任务,一个任务一个文件夹比较好,不然一个文件夹里多个任务,删起来不太方便
作者
Author:
wang7344412    时间: 2021-1-7 09:38
冰释之川 发表于 2021-1-7 08:19
我建议ORCA任务,一个任务一个文件夹比较好,不然一个文件夹里多个任务,删起来不太方便

恩 好的,谢谢冰大!
作者
Author:
冰释之川    时间: 2021-2-8 19:58
2021-2-8: 更新至v1.1版,增加统计功能
作者
Author:
archer    时间: 2021-12-1 12:25
使用%nosave是不是可以自动清理,会影响计算吗
作者
Author:
冰释之川    时间: 2021-12-1 13:15
archer 发表于 2021-12-1 12:25
使用%nosave是不是可以自动清理,会影响计算吗

%nosave 好像是不保存*.chk? 我没测试过。这边的清理主要是针对一些意外中断的高斯任务所残留的临时文件
作者
Author:
archer    时间: 2021-12-1 16:30
冰释之川 发表于 2021-12-1 13:15
%nosave 好像是不保存*.chk? 我没测试过。这边的清理主要是针对一些意外中断的高斯任务所残留的临时文件

好像不是删除。chk。The %NoSave command may be used to change this default behavior. When this directive is included in an input file, named scratch files whose directives appear in the input file before %NoSave will be deleted at the end of a run
http://thiele.ruc.dk/~spanget/help/g09/m_running_w.htm




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3