hellow 运维
分类: 系统运维
2015-05-20 10:36:45
对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢?其实我们可以通过登陆IP地址来记录所有用户登录所操作的历史操作!具体操作就是在/etc/profile配置文件的末尾加入以下脚本代码来实现:
# History 呵呵
# name 韩
#file /etc/profile
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
if [ ! -d /usr/local/history ]; then
mkdir /usr/local/history
chmod 777 /usr/local/history
fi
if [ ! -d /usr/local/history/${LOGNAME} ]; then
mkdir /usr/local/history/${LOGNAME}
chmod 300 /usr/local/history/${LOGNAME}
fi
export HISTSIZE=10000
DT=`date +"%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/usr/local/history/${LOGNAME}/${USER}@${USER_IP}_history.$DT"
chmod 600 /usr/local/history/${LOGNAME}/*history* 2>/dev/null
[root@server ~]# source /etc/profile
[root@server ~]# logout 或者ctrl+d实现
# 此时需要退出系统再重新登录,在/usr/local/history/目录下才有记录
[root@server ~]# ll /usr/local/history/root/
-rw-------. 1 root root 107 May 19 19:03 root@192.168.0.107_history.2015-05-19_19:03:11
1:查看文件大小:
[root@localhost han]# ls
qiv-2015-123
[root@localhost han]# du -sh *
7.2M qiv-2015-123
2:计算文件的md5码
[root@localhost han]# md5sum qiv-2015-123
8613a11899deead0a06212d5840c6a46 qiv-2015-123
3:拆分文件:
[root@localhost han]# split -b 500k qiv-2015-123 qiv-2015
[root@localhost han]# ls
qiv-2015-123 qiv-2015ac qiv-2015af qiv-2015ai qiv-2015al qiv-2015ao
qiv-2015aa qiv-2015ad qiv-2015ag qiv-2015aj qiv-2015am
qiv-2015ab qiv-2015ae qiv-2015ah qiv-2015ak qiv-2015an
[root@localhost han]#
注:拆分的文件会以a开头实现拆分文件:当文件拆分完成时(不够500k的会按照实际情况保留文件大小)
[root@localhost han]# du -sh *
7.2M qiv-2015-123
500K qiv-2015aa
500K qiv-2015ab
500K qiv-2015ac
500K qiv-2015ad
500K qiv-2015ae
500K qiv-2015af
500K qiv-2015ag
500K qiv-2015ah
500K qiv-2015ai
500K qiv-2015aj
500K qiv-2015ak
500K qiv-2015al
500K qiv-2015am
500K qiv-2015an
320K qiv-2015ao
[root@localhost han]#
5:再通过一些工具传送文件到其他服务器:scp rsync都可以
我这里是scp传的
6:计算所有文件的md5码记录下来,便于相互查看
[root@localhost han]# for i in $(ll | grep qiv-2015a | awk '{print $9}'); do md5sum $i ;done
23e76b0d28a785e425c6565b238ddf95 qiv-2015aa
8b268c221fec834b149597472e01d284 qiv-2015ab
e2dcec497f45374ebeb8c2fafd596d3c qiv-2015ac
2555e0a81a1a05c12edd712bf7f26b4e qiv-2015ad
b5492422d2045cd381935903262c700d qiv-2015ae
afadd04a907e2ad16010152a4ddc1128 qiv-2015af
255607387f866939aada41b5e0a22eb9 qiv-2015ag
0d3131641cc3c08c7fb4aab7e8e92949 qiv-2015ah
5518a0366495918a50bb806e6dbf473d qiv-2015ai
89583c35a386320a19280f001b8cfe0b qiv-2015aj
82b0bba10a0fa15d672c1ae4277f91d7 qiv-2015ak
54d16ac821901f873baf1520ad9502c0 qiv-2015al
c7776483696bb6fd103a9856688d67bd qiv-2015am
6dffb75dc2ce5603ef63cdcc0d540985 qiv-2015an
40c0de920e3ecc974ad551e708ad22ab qiv-2015ao
[root@localhost han]#
7:合并文件:
[root@localhost han]# cat qiv-2015a* > /root/qiv-2015-234
计算他的md5码 和之前的文件相对比
[root@localhost han]# md5sum qiv-2015-123
8613a11899deead0a06212d5840c6a46 qiv-2015-123
[root@localhost han]# md5sum qiv-2015-234
8613a11899deead0a06212d5840c6a46 qiv-2015-234
[root@localhost han]#
如果md5码一样证明文件合并成功