[技术问题]怎样用tar压缩home目录下所有以.开头的文件和路径?
时间:2009-12-30
来源:互联网
我只要备份用户home下以.开头的那些文件和目录,应该怎样写tar命令呢?谢谢!
tar -jcf backup_home.tar.bz2 ~/.*(这样不行,会把.和..也算进去的,应该怎样写呢?)
谢谢大家
作者: waiting4you 发布时间: 2009-12-30
作者: qiang_liu8183 发布时间: 2009-12-30
作者: digwtx 发布时间: 2009-12-30
作者: jiuny0209 发布时间: 2009-12-30

作者: ggarlic 发布时间: 2009-12-30
tar -jcf backup_home.tar.bz2 ~/.[^.]*
作者: lolilolicon 发布时间: 2009-12-30
作者: waiting4you 发布时间: 2009-12-30
ls -dA1 ~/.* | grep -Ev '(^|/)\.[\.]?$' | tar -cjf foo.tar.bz2 -T -
作者: lolilolicon 发布时间: 2009-12-30
作者: waiting4you 发布时间: 2009-12-30
作者: yangzhe1990 发布时间: 2009-12-31
在 $HOME 建一个目录,然后把配置分类放在里面
然后把包这个目录
ls -lh > link.txt 做一个脚本来还原它
备份 /etc 的就做成脚本,把要备份的文件cp 到指定目录下
以下是还原link的脚本
#!/usr/bin/env python # -*- coding:utf-8 -*- import sys,os,string from stat import * #=============================================== ##### ls -Al|grep MultiConfigDir|grep ^l > link_files.txt #=============================================== def MainFunc(IsTest): InputFile = "link_files.txt" TxtFileHandle = open(InputFile, 'r') print 'Start Read File...\n' try: #-------------------------------------------------------- while True: ReadStr = TxtFileHandle.readline() if not ReadStr: print '\nEnd File....\n' break ListStr = ReadStr.split() #print ListStr if (len(ListStr) == 0): continue print ListStr[0] if ListStr[0].startswith('#'): #print "startswith('#')" continue if ListStr[0].startswith("l"): if (len(ListStr) == 10): #print "7 = %s 9 = %s" % (ListStr[7], ListStr[9]) RetVal = ProcOneLine(ListStr[9], ListStr[7], IsTest) if (RetVal == False): break #-------------------------------------------------------- #except: finally: TxtFileHandle.close() #=----------------------------------------------------------------- def ChkAndMkDir(DirNameStr): if (not os.path.exists(DirNameStr)): os.system("mkdir -pv %s" % DirNameStr) def ChkIsExists(FileStr): if (os.path.exists(FileStr)): return True else: return False def ChkIsDir(DirStr): StatMode = os.stat(DirStr)[ST_MODE] if (S_ISDIR(StatMode)): return True else: return False #if (os.path.isfile(DirStr)): # return False #else: # return True def ChkIsLink(LinkStr): #StatMode = os.stat(LinkStr)[ST_MODE] if (os.path.islink(LinkStr)): #if (S_ISLNK(StatMode)): return True else: return False #=----------------------------------------------------------------- def ProcOneLine(SrcStr, DestStr, IsTest): if (not ChkIsExists(SrcStr)): #print "Target Not Found!" return True BackupConfDir = "BackupConfDir/" #--------Clean Start---- if (ChkIsExists(DestStr)): if (ChkIsLink(DestStr)): ReadLink = os.readlink(DestStr) if (ReadLink == SrcStr): print "link = %s Yes Euery" % ReadLink return True else: print "link = %s No Eqery" % ReadLink #return True if (True == IsTest): print "os.unlink(%s)" % DestStr else: print "os.unlink(%s)" % DestStr #if (os.unlink(DestStr)): if (os.system("unlink %s" % DestStr) == 0): print "unlink OK" else: print "unlink Fail" else: #-------Add user input if (ChkIsDir(DestStr)): result = ask_YNQ("Delete ==== %s === Dir ?" % (DestStr)) if (result == "quit"): return False if (result == "yes"): if (True == IsTest): print "os.rmdir(%s) " % DestStr else: ChkAndMkDir(BackupConfDir) os.system("cp %s %s -rf" % (DestStr, BackupConfDir)) print "os.rmdir(%s) " % DestStr #if (os.rmdir(DestStr)): if (os.system("rm %s -rf" % DestStr) == 0): print "rmdir() OK" else: print "rmdir() Faile" else: return True else: result = ask_YNQ("Delete === %s === File ?" % (DestStr)) if (result == "quit"): return False if (result == "yes"): if (True == IsTest): print "os.remove(%s)" % DestStr else: ChkAndMkDir(BackupConfDir) os.system("cp %s %s -f" % (DestStr, BackupConfDir )) print "os.remove(%s)" % DestStr #if (os.remove(DestStr)): if (os.system("rm -f %s" % DestStr) == 0): print "os.remove OK" else: print "os.remove False" else: return True else: print "%s is Not Exists" % DestStr #----Clean Over----- if (True == IsTest): print "os.symlink(%s, %s) " % (SrcStr, DestStr) else: print "os.symlink(%s, %s) " % (SrcStr, DestStr) #os.symlink(SrcStr, DestStr) if (os.system("ln -sv %s %s" % (SrcStr, DestStr)) == 0): print "ln -sv %s %s OK" % (SrcStr, DestStr) else: print "ln -sv %s %s faile" % (SrcStr, DestStr) return True #=----------------------------------------------------------------- def ask_ok(prompt): while True: ok = raw_input(prompt) if ok in ('y', 'ye', 'yes'): return True elif ok in ('n', 'no', 'nop', 'nope'): return False else: print 'yes or no,please' def ask_YNQ(prompt): while True: ok = raw_input(prompt) if ok in ('y', 'ye', 'yes'): return "yes" elif ok in ('n', 'no', 'nop', 'nope'): return "no" elif ok in ('q', 'quit'): return "quit" else: print 'yes or no or quit,please' #while 1: # flag = ask_ok('are you really want to quit?') # if flag == True: # break #print 'out' #=----------------------------------------------------------------- if __name__ == "__main__": IsTest = True if (len(sys.argv) > 1): if (sys.argv[1] in ('true', 'True')): print "IsTest is False" IsTest = False else: print "IsTest is True" print "MainFunc Start" MainFunc(IsTest) print "MainFunc Over" # SrcStr = "12341325" # if (ask_ok("Delete %s Dir ?" % (SrcStr, ))): # print "delete ..." # else: # print "Esc" #=----------------------------------------------------------------- # os.path.exists(path) # if os.path.isfile("c:\windows"): # print "file" # else: # print "directory" # os.symlink(src, des) # unlink( path) # mkdir( path[, mode])
作者: axlrose 发布时间: 2009-12-31
我用的是tar的-g命令增量备份,还不错的说
作者: waiting4you 发布时间: 2010-01-04
嘿嘿, 开个玩笑... 不过也不是不行啊
作者: CnkknD 发布时间: 2010-01-05
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28