Linux 下 Python 备份文件

	#!/usr/bin/env python
     2	#auto backup files    
     3	#by lishang 2019--8-19
     4	
     5	import os,sys,time                                 //  导库
     6	date = time.strftime('%Y%m%d')         通过time下得strftime方法来获取时间,并设置日期格式
     7	source = ['/home/lishang/python']       设置你要备份的文件的所在路径
     8	dir = '/home/lishang/'						    设置你要备份到哪的路径
     9	r_dir = dir + date +'/'							设置备份到哪的路径下,哪天的文件夹,如/home/lishang/20190820
    10	f_name = '%s.tar.gz' % date		    设置备份文件之后压缩包文件名20190820.tar.gz
    11	r_name = r_dir + f_name                 设置备份文件的具体路径/home/lishang/20190820/20190820.tar.gz
    12	print '''
    13	\033[32m+++++++++++Welcome to use python backup scripts for Linux 
    14	++++++++++
    15	+++++++++++++++++++++Now Time is %s 
    16	++++++++++++++++++++++++++
    17	++++++++++++++++++++++++++++++++++++++++++++++++++++
    18	++++++++++++++++
    19	\033[0m''' % date
    20	time.sleep(1)									等待一秒
    21	def all_bak():									等一一个方法
    22		if os.path.exists(r_dir) == False:         判断,不存在就创建一个,存在就打印信息
    23			os.makedirs(r_dir)
    24		else:
    25			print 'This dir %s is exits' % r_dir
    26		tar_cmd = 'tar -zcvf %s %s' % (r_name,''.join(source))     执行Linux命令固定格式tar -zcvf(a,b)a 是你要 备份到哪的,b是源文件的路径,在python 里边 后边括号里边要加上 ‘’ 来区分,.join()把你要加入的源目录放进去
    27		if os.system(tar_cmd) == 0:						在python 里边 通常执行成功会返回 0 状态值,
    28			print 'This backup system files %s success !' % r_name
    29		else:
    30			print 'This backup system files %s failed !' % r_name
    31	try:
    32		if sys.argv[1] == 'all_bak':                   sys.argv[1]   获取命令之后的第一个参数,0是文件本身如backup.py
    由于是获取,系统命令,可能会出问题,所以放在try--except 里边
    33				print 'Please waiting executing Command ......'
    34				all_bak()
    35	except IndexError:
    36		print '\033[31m-------------------------------------------------\033[0m'
    37		print "\033[31mUsage: {%s all_bak|help}\033[0m" % sys.argv[0]
	try:
    40		if sys.argv[1] == 'help':
    41			print 
    42			'\033[31m-------------------------------------------------\033[0m'
    43			print "\033[31mUsage: {%s all_bak|help}\033[0m" % sys.argv[0]
    44	except IndexError:
    45		pass
    46	try:
    47		if len(sys.argv[1]) == 0:
    48			print 
    49			'\033[31m-------------------------------------------------\033[0m'
    50			print "\033[31mUsage: {%s all_bak|help}\033[0m" % sys.argv[0]
    51	except IndexError:
    52		pass

在这里插入图片描述 try:
… import ad
… except ImportError:
… print ‘7410’

7410
把要执行的放在 try里边 ,写完要执行的之后,写except 异常/错误名称 再写一个 :
expect (期望) 如果出现和你写的一样的错误,怎么执行,在下一行 按一下 tab 或者两次空格
写你要提示的

猜你喜欢

转载自blog.csdn.net/qq_42157992/article/details/99851378