我正在尝试在 linux 服务器位置查找最近一小时内创建、复制、移动或修改的新文件/home/user/
。
我想知道以下命令是否是涵盖所有情况(创建、复制、移动或修改)的最佳方式,或者此命令是否不涵盖所有情况,并且我可能会在搜索中丢失一些文件。
我会从搜索结果中排除所有简单执行或读取/访问的文件。
find /home/user/ -type f -newermt '-3600 seconds' -printf "%T+ %p\n"
我没有使用 Perl 或 BerkelyDB 的经验。我有一个巨大的 BerleleyDB,其中包含电子邮件列表和 unix 时间戳。我需要帮助来删除时间戳超过 100 天的电子邮件。
我有这部分 Perl 代码
#!/usr/local/perls/perl-5.26.1/bin/perl
use BerkeleyDB;
my $filename = '/usr/local/assp/whitelist.bdb';
my $dbh = new BerkeleyDB::Hash(
-Filename => $filename)
or die "Error opening $filename : $! $BerkeleyDB::Error\n";
my $cursor = $dbh->db_cursor() ;
while ($cursor->c_get($k, $v, DB_NEXT) == 0) {
print "Key: " . $k . ", value: " . $v . "\n";
}
### Close the Berkeley DB
untie $filename;
exit;
它显示了所有带有键 ($k) 和值 ($v) 的行
结果是这样的
Key: [email protected], value: 1578560300
Key: [email protected],[email protected], value: 1578643050
Key: [email protected], value: 1578643050
任何人都可以帮我添加 Perl 代码以在上面执行期间删除所有具有 unix 时间戳值超过 100 天的 Key 行?
我使用 Sophos 防病毒程序扫描反垃圾邮件软件 ASSP、服务器 OS Centos 7.4、MTA EXIM 中的电子邮件。
它以这种方式运行
/usr/local/bin/savscan -sc -s -archive /file
它可以很好地阻止恶意软件,但存在问题。每次 savscan 执行时,它都需要在内存中加载它的所有病毒特征码,大约 6 秒才能启动。
如果您认为在服务器中我每分钟收到大约 40 封电子邮件,那是对时间和资源的巨大浪费。我已经联系了 Sophos,他们告诉我他们对创建像 clamAV 守护程序这样的扫描程序守护程序不感兴趣......
所以我的问题是,有什么方法可以在第一次执行后更快地运行 /usr/local/bin/savscan 吗?是否可以将它作为守护程序运行,或者在第一次执行后将程序放入内存中,以便下一次执行会更快?