python导出linux用户权限,pythonlinux,要换linux服务器,由


要换linux服务器,由于每个用户在服务器上都有文件,而且文件权限不同。这些老数据想放到新服务器上就要命了,要记录每个文件的权限和用户组。中间去了巧,没写python输出到文件夹,直接用linux管道输出,如我想输出权限到info文件可以写成python filePermissions.py >info然后给info加执行权限就行了

获得文件或者文件夹权限

#! /usr/bin/env python#-*- coding: utf-8 -*-import os,statdef WalkDir(dir, file_callback=None):    for root, dirs, files in os.walk(dir):        for d in dirs:            #print d            if(not d[0] == "."):                file_path = os.path.join(root, d)                if file_callback: file_callback(file_path)    for root, dirs, files in os.walk(dir):        for f in files:            #print f            if(not f[0] == "."):                file_path = os.path.join(root, f)                if file_callback: file_callback(file_path)def LogFile(file):    try:        fileStats = os.stat(file)        #print file        #print fileStats.st_mode        #print oct(stat.S_IMODE(fileStats.st_mode))        #print fileStats.st_uid        #print fileStats.st_gid        fileInfo = 'chmod ' +  oct(stat.S_IMODE(fileStats.st_mode)) + ' ' + file        print fileInfo    except:        passif __name__ == "__main__":    path = raw_input('')    WalkDir(path, LogFile)

获得用户和组信息

#! /usr/bin/env python#-*- coding: utf-8 -*-import os,statdef WalkDir(dir, file_callback=None):    for root, dirs, files in os.walk(dir):        for d in dirs:            #print d            if(not d[0] == "."):                file_path = os.path.join(root, d)                if file_callback: file_callback(file_path)    for root, dirs, files in os.walk(dir):        for f in files:            #print f            if(not f[0] == "."):                file_path = os.path.join(root, f)                if file_callback: file_callback(file_path)def LogFile(file):    try:        fileStats = os.stat(file)        #print file        #print fileStats.st_mode        #print oct(stat.S_IMODE(fileStats.st_mode))        #print fileStats.st_uid        #print fileStats.st_gid        fileInfo = 'chown ' +  str(fileStats.st_uid) +':' + str(fileStats.st_gid) + ' ' + file        print fileInfo    except:        passif __name__ == "__main__":    path = raw_input('')    WalkDir(path, LogFile)

评论关闭