IP地址检查
#!/usr/bin/env python # coding=utf-8 import ipaddress ip = "192.168.0.1" net = "192.168.0.0/24" isIn = ipaddress.ip_address(ip) in ipaddress.ip_network(net) print(isIn)
#!/usr/bin/env python # coding=utf-8 import ipaddress ip = "192.168.0.1" net = "192.168.0.0/24" isIn = ipaddress.ip_address(ip) in ipaddress.ip_network(net) print(isIn)
请先安装fping程序
# coding=utf-8
"""
linux 系统专用
"""
import os
import sys
# print(sys.argv) if len(sys.argv) == 1: print("缺少参数,用法:python3 fping.py C类IP段 IP个数") exit(1) prefix = sys.argv[1] n = sys.argv[2] # 生成IP地址列表 f = open('ip.txt', 'w+') for i in range(1,int(n)): ip = prefix + "." + str(i) f.write(ip + '\n') f.close()
# 批量ping,并保存成功的IP os.system('fping -f ip.txt 2>null |grep alive >alive.txt') f = open('alive.txt', 'r') sum = len(f.readlines()) f.close() print("ping over,%d 个IP可达。" %sum)
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync功能
作为命令,实现本地-远程文件同步
作为服务,实现本地-远程文件同步
rsync特点
可以镜像保存整个目录树和文件系统,可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等。
传输效率高,使用同步算法,只比较变化的部分。
支持匿名传输,方便网站镜像;也可以做验证,加强安全。
rsync同类服务
sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。
rsync 远程同步:remote synchronous
脚本举例(需要先配置ssh免密登录):
#!/bin/bash vip="192.168.80.13" #虚拟IP,表示以存在虚拟IP的服务器为源,同步远程服务器 dstip="192.168.80.12" basedir="/www" count=`/usr/sbin/ip a |grep $vip |wc -l` #判断虚拟机IP是否存在 if [ $count = 1 ]; then rsync -a --delete /var/ftp/ $dstip:/var/ftp/ #a 表示归档,即保留文件原属性,比如创建时间,属主等 rsync -a --delete $basedir/wwwroot/ $dstip:$basedir/wwwroot/ #delete 表示删除目标目录多余的文件,用来保证和源目录一致 rsync -a --delete $basedir/server/pure-ftpd/etc/ $dstip:$basedir/server/pure-ftpd/etc/ #相当于是个简单的防篡改 else exit 1 fi
定时执行
/1 * /root/rsync.sh #表示每分钟执行一次