Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用UNIX在特定文件夹中编辑文件时收到通知;查找“;_Bash_Shell_Find - Fatal编程技术网

Bash 使用UNIX在特定文件夹中编辑文件时收到通知;查找“;

Bash 使用UNIX在特定文件夹中编辑文件时收到通知;查找“;,bash,shell,find,Bash,Shell,Find,我在我的广告服务器上寻找一个额外的保护层,以确保没有我不知道的文件编辑 我一直在使用以下命令检查并查看是否有任何文件在过去7天内被编辑过 find /home/adserve/public_html/ads/www /home/adserve/public_html/ads/plugins -mtime -7 但是我想把它添加到一个小的shell脚本中,然后让cron每天运行一次,但是如果有任何编辑,我怎么能让它通过电子邮件通知我呢 如果未更改任何内容,则命令不会输出任何内容,但如果某些内容已

我在我的广告服务器上寻找一个额外的保护层,以确保没有我不知道的文件编辑

我一直在使用以下命令检查并查看是否有任何文件在过去7天内被编辑过

find /home/adserve/public_html/ads/www /home/adserve/public_html/ads/plugins -mtime -7
但是我想把它添加到一个小的shell脚本中,然后让cron每天运行一次,但是如果有任何编辑,我怎么能让它通过电子邮件通知我呢


如果未更改任何内容,则命令不会输出任何内容,但如果某些内容已更改,则会输出这些特定文件。如果找到这些,我可以让它通过电子邮件发送给我吗?

cron的默认行为是,如果命令生成一些输出,则发送电子邮件。这意味着您可以将上述命令添加到crontab中。如果要将电子邮件发送到特定的电子邮件地址,可以使用环境设置
MAILTO
。例如:

MAILTO="foobar@example.com"
# run five minutes after midnight, every day
5 0 * * * find /home/... -mtime -7

不要忘记入侵者可以更改文件的修改时间。您可能应该考虑生成文件的散列(SHA3,SHA2-256)并记录这些文件,然后再比较它们。请记住在推送文件的新版本后更新哈希。是的,你可以通过电子邮件发送结果<代码>邮件-s“更改的文件”username@example.com是一个基本命令,用于从标准输入(例如,
find
的输出)读取消息。用空输入进行实验。您可能需要配置邮件传递机制。根据Jonathan Leffler所说,基线哈希需要在主机之外存储,否则入侵者也可以修改它们,而您仍然一无所获。有没有办法我只能为这个cron发送电子邮件?我的crontab中还有其他内容,但只需要“find”命令的输出。@模拟:如果您不想接收某些cron条目的电子邮件,请使用重定向抑制输出,即在命令中附加
/dev/null 2>&1