md5值校验

使用哈希的md5给文件加指纹,如果文件被更改,指纹信息就会不匹配,从而确定文件的原值是否被改动。

[root@b test]# md5sum a.txt > zhiwen.txt
[root@b test]# md5sum -c zhiwen.txt    #-c参数检查文件指纹有没有发生变化
a.txt: OK
[root@b test]# echo aa >> a.txt
[root@b test]# md5sum -c zhiwen.txt
a.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

[root@b test]# vim backup_tar.sh

cd /  &&

#其中&&表示前面的命令执行成功,继续执行后面的命令,中间不间断
tar zcfh /backup/sys_config_$(date+%F).tar.gz var/spool/cron /etc/rc.local /serv
er/scripts &&
tar zcfh /backup/webdata_$(date+%F).tar.gz /var/html/www/ &&        

#tar的-h选项表示打包的目标文件如果为软连接,则将其源文件也进行打包,防止打包后文件不能使用。

tar zcf /backup/access_log_$(date+%F).tar.gz /app/logs &&
find /backup -type f -name "*.tar.gz"| xargs md5sum >/backup/flag_$(date +%F)

#其中xargs作用是将所有的打包文件进行md5校验,验证生成的文件是否被他人篡改

[root@b ~]# for i in `seq 1000`;do echo $RANDOM |md5sum |tr 'a-z' '0-9'|cut -c 1-32 >>aa.txt;done

[root@b ~]# cat aa.txt |sort -nr |uniq -c |awk '{if($1>1){print $0}}'

#echo $RANGDOM输出一个系统随机数,通过md5加密,用tr将所有字母换成数字,截取其前32个字符追加到aa.txt文件,通过for语句循环1000次;过滤aa.txt文件。查看其重复次数超过1次的所有md5值

tr是个简单的替换命令,从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。

tr常见命令参数

用法:tr [选项]... SET1 [SET2]

从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
 
 -c, -C, --complement            首先补足SET1
 -d, --delete                 删除匹配SET1 的内容,并不作替换
 -s, --squeeze-repeats 如果匹配于SET1的字符在输入序列中存在连续的重复,在替换时会被统一缩为一个字符的长度
 -t, --truncate-set1            先将SET1 的长度截为和SET2 相等
   --help                显示此帮助信息并退出
   --version              显示版本信息并退出
原文地址:https://www.cnblogs.com/xiaofeng666/p/11091279.html