如何记录文件服务器上的文件操作日志
比如是哪个域用户复制了或是哪个域用户删除了文件和文件夹。目的:文件服务器里的公共文件夹缺少访问行为监控,误删或故意删除可能会造成数据丢失。文件夹丢失的原因无法查清,可能是误删除,也可能是故意删一文件服务器是公司的域中的一台机,很多情况下,会有多个用户对某一个文件夹进行读写,难免会有操作错误或误删的情况为了保留操作的真实性如果设定记录用户的操作情况,特别是文件及文件夹的删除日志监控WIN2003文件服务器上的文件夹和文件的复制、删除。 比如是哪个域用户复制了或是哪个域用户删除了文件和文件夹。目的:文件服务器里的公共文件夹缺少访问行为监控,误删或故意删除可能会造成数据丢失。文件夹丢失的原因无法查清,可能是误删除,也可能是故意删除。需要进行两个操作。一个是在安全策略里面启用“审核对象访问”,开启这个功能方法是右键选择你需要查看操作日志的文件的属性,选择“安全”--> “高级”-->"审核"-->然后添加一个需要审核的用户,例如everyone --> 再选择具体的审核项目,例如是审核用户是否运行过这个文件,是否重命名这个文件等等,如果希望审核所有操作,就选择完全控制。最后,再到安全性日志中就可以查看到具体的操作记录。
last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f <记录文件>指定记录文件。
-n <显示列数>或-<显示列数>设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep rebootlast | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的命令(! 代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,
这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。
除此之外还有more,less,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求个人常用的就是以上那些《Linux就该这么学》一起学习linux
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/bootlog 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
在登录服务器后的,就会出现一个文件夹logfiles,在那个里面就会自动每天产生一个文件,是以年月日命名的。
打开文件,就可以看到当天的日志了!或者借助网站统计的代码如:Google analytics、量子统计、百度统计、cnzz、51la等,但是这些统计工具都不能统计你主机上资源的原始访问信息。
日志文件通常保存在/var/log目录下。
下面是几个重要的日志文件:
/var/log/messages:包括整体系统信息,其中也包含系统启动期间的日志。
/var/log/syslog:它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息。
/var/log/userlog:记录所有等级用户信息的日志。/var/log/authlog:包含系统授权信息,包括用户登录和使用的权限机制等。
扩展资料:
日志文件分为事件日志和消息日志。
事件日志
事件日志记录在系统的执行中发生的事件,以便提供可用于理解系统的活动和诊断问题的跟踪。 它们对理解复杂系统的活动至关重要,特别是在用户交互较少的应用程序中。
它还可以用于组合来自多个源的日志文件条目。 这种方法与统计分析相结合,可以产生不同服务器上看起来不相关的事件之间的相关性。 其他解决方案采用网络范围的查询和报告。
消息日志
互联网中继聊天(IRC),即时消息(IM)程序,具有聊天功能的对等文件共享客户端和多人游戏(特别是MMORPG)通常具有自动记录(即保存)文本通信的能力。
消息日志几乎是通用的纯文本文件,但是IM和VoIP客户端(其支持文本聊天,例如Skype)可以将它们保存在HTML文件中或以自定义格式以便于阅读和加密。
参考资料:
定期清理linux服务器日志文件的几个思路
1,在跑批程序中,用java代码调用shell脚本;
2,在跑批程序中,用纯java代码实现,也就是使用java的文件操作类File;
3,纯shell脚本方式,使用linux服务器的调度程序调用shell脚本;
结合最近的项目,这里提供一个示例。首先,我们是在跑批项目中实现的定期清理日志功能,
因为我们有跑批项目,使用的是Control M进行调度,所以这种方式还是很方便的。
第一步:写shell脚本
find /home/logs/ -mtime +30 -name "log" -exec rm -rf {} \;
脚本其实很简单,一行代码就够了,把这个代码放在一个shell文件中,然后放在服务器的
指定目录下,等待java程序调用。
第二步:写java代码,调用shell脚本,示例代码仅提供思路,请大家自己调试
// 设置可执行权限
String commond = "chmod 777 clearLogFileOnTimesh";
Process proc = RuntimegetRuntime()exec(commond);
procwaitFor();
// 执行shell脚本
commond = "bash clearLogFileOnTimesh";
proc = RuntimegetRuntime()exec(commond);
第三步:配置Control M,进行作业调度
关于Control M的配置不再赘述,主要就是设置跑批程序的执行时间,以及一些其他参数。
如何收集Domino服务器日志
在论坛已久,发现用户提交问题,太过于简单,很多就是说明现象,不太便于分析和理解。
来论坛发帖大部分都是Domino管理员和开发者,希望更加细致和专业,同时提高自己分析能力。
以下来自ibm的邮件或者帮助:
1 当Windows平台上服务器挂起(非HTTP)时,收集数据的流程:
1 在服务器的控制台上输入
set config CONSOLE_LOG_ENABLED=1
set config DEBUG_THREADID=1
set config DEBUG_CAPTURE_TIMEOUT=1
set config DEBUG_SHOW_TIMEOUT=1
2 当服务器挂起,在Domino控制台上执行如下命令:
sh server
sh task debug
sh task time
sh user
sh stat
3 用Dos命令手工收集nsd日志,当nsd完成收集后,请在五分钟内执行'dump'命令对所有Domino服务器线程做另一个快照。
下面是如何收集nsd的提示:
I 打开一个dos命令窗口
II 进入domino data目录,例如"cd c:\lotus\domino\"
III 在Domino程序目录下执行nsd,例如"c:\lotus\domino\nsd"
当nsd运行结束,命令行中的提示符会更改为:
nsd>
IV 五分钟后执行dump命令,用来dump线程堆栈。在问题期内至少收集两次dump
V 退出Domino服务器,如果可以,可在Domino控制台输入'q'或者'quit'命令来退出Domino,如果服务器不能正常退出,就需要在"nsd>"提示符下用'kill'这个命令来杀掉所有Domino进程。
4 需要收集的数据有:
- nsd log, 文件名: nsd_<plaftform>_<ServerName>_date@timelog, date/time 应是nsd运行的时刻
- console log, 文件名: console_name_yyyy_mm_dd@hh_mm_sslog,the date/time 应是服务器最后一次启动的时刻
- SEMDEBUG txt, 文件名: SEMDEBUG_name_yyyy_mm_dd@hh_mm_ssTXT, the date/time 应是服务器最后一次启动的时刻
上面的文件位于Domino Data目录,IBM_TECHNICAL_SUPPORT 子目录
2 Lotus Traveller服务器日志收集
收集服务器日志
本主题包含有关收集日志文件和信息以协助 Lotus Notes® Traveler 支持人员解决服务器安装、启动和运行时问题的指示信息。
提高记录级别
执行以下操作,为 Lotus Notes Traveler 服务器任务提高记录级别、增加日志文件大小和最大活动日志文件数。请注意,可能不必增加日志文件大小或最大活动文件数。
在 IBM® Lotus® Domino® Administrator 中,打开 Lotus Notes Traveler 服务器的服务器配置文档。
在文档中单击 Lotus Traveler 选项卡,然后单击编辑服务器。
将记录级别更改为最详细。
将活动日志的最大文件大小更改为所需的最大文件大小。
将最大活动日志文件数更改为所需的最大活动日志数。
保存并关闭服务器文档。
等几分钟让更改生效,然后重现问题。
注: 还可以为每个用户逐个设置记录以节约输入/输出空间和带宽。有关记录命令的详细信息,请参阅控制台命令。
收集日志
以下文件和目录包含记录或配置信息,这些信息在对服务器启动/运行时问题进行故障诊断时很有用。以 Zip 或 tar 格式压缩下面指定的所有文件和目录。当指示目录时,包括整个目录。
\Lotus\Domino\notesini
\Lotus\Domino\data\servletsproperties
\Lotus\Domino\data\traveler\cfg\
\Lotus\Domino\data\traveler\logs\
如果问题涉及在创建 \traveler 目录前安装失败,请提供以下临时日志(如果存在):%TEMP%\Idatetime\Windows\NTSInstalllog(例如 C:\Documents and Settings\Administrator\Local Settings\Temp\I1206535899\Windows\NTSInstalllog)。
如果问题涉及 Domino 服务器崩溃,另请提供以下日志:
用于捕获崩溃的 NSD 日志,位于 \Lotus\Domino\data\IBM_TECHNICAL_SUPPORT\NSDdatetimelog 中
Javacore 文件,根据具体安装情况,其位置可能会有不同,但或许能在 \Lotus\Domino\javacoredatetimetxt 中找到
注: 为了不影响性能,在收集日志并解决问题后,建议您将日志级别恢复到原来的设置。
二 以上主要收集的是服务器日志,Notes客户端也是类似
本地存在lognsf,同时在数据目录下也存在:
data\IBM_TECHNICAL_SUPPORT\
和服务器类似,同样用来分析Notes客户端问题。
1、通过linux命令行工具(如:xshell4工具),连接到指定服务器;
2、通过cd
命令进入指定文件目录,回车;(如:cd
/usr/ibm/websphere/appserver/profiles/emall0202/logs),
3、使用
命令:tail
-f
systemoutlog
4、进行动态跟踪;(注意:跟踪时,先执行命令,再发http请求,然后回到命令行工具,退出同动态跟踪(使用ctrl+c))
5、怎么最快的索引到关键字,使用
vi
systemoutlog
打开日志文件;(vi命令等同于windows里的打开视图编辑器)
6、打开以后,使用“
/
”
+
”关键字“
,回车即可;
小窍门:
1、当输入一个已有的文件/文件目录的首字母,然后按tab键,会自动索引对应的文件名或提示);
2、cd
为回退到父文件夹命令,中间有个空格;
3、ls
命令列出文件夹下的所有文件;
4、linux
的vi编辑器退出方法。
先esc
:
q
在未作修改的情况下退出!
:
q!
放弃所有修改,退出编辑程序!
0条评论