分类 脚本程序 下的文章

#!/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 #表示每分钟执行一次