通过批处理文件使用7zip执行备份,将1日和15日的备份再另外备份,定时清理过期备份
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过批处理文件使用7zip执行备份,将1日和15日的备份再另外备份,定时清理过期备份相关的知识,希望对你有一定的参考价值。
7z.exe是个好东东,N多年前,当时试用了各种命令行压缩软件,效果都不怎么样,那时7zip出来不久,发现它也有命令行模式,然后试用一下,发现可用性很好,压缩率、效率也很不错。当时试用过winrar和rar,效果都不太好。C:\7-Zip\7z.exe a -sdel "E:\Backup\Zip_%date:~0,4%_%date:~5,2%_%date:~8,2%.7z" "E:\Backup\%date:~0,4%_%date:~5,2%_%date:~8,2%.dmp" "E:\Backup\%date:~0,4%_%date:~5,2%_%date:~8,2%.log"
for /F "delims=" %%i in (‘wmic path Win32_LocalTime get day /value^|find "="‘) do set /a %%i
if %day%==2 (
copy E:\Backup\Zip_%date:~0,4%_%date:~5,2%_01.7z E:\Backup_1stDayOfMonth)
if %day%==16 (
copy E:\Backup\Zip_%date:~0,4%_%date:~5,2%_15.7z E:\Backup_1stDayOfMonth)
forfiles /p "E:\Backup\" /m *.7z -d -30 /c "cmd /c del /f @path"
熟悉Oracle的朋友应该可以看出来,这是Oracle的dump和log文件压缩。expdp导出dump很方便,缺点就是这玩意超级的大,使用7zip压缩一下后,容量可以缩减至原来的百分之五左右。
7z的参数,可以自己看一下,这里就介绍我命令行里用到的两个参数
a:压缩
-sdel:压缩完成后,删除源文件。对于dump这种大文件,备份完就删,这个参数很实用。
第一个路径:含路径的压缩文件名
第二、第三个路径:两个需要压缩的文件名。如果还有第四第五等等,接着写即可。
%date:~0,4%%date:~5,2%%date:~8,2%是命令行下的日期,我在年月日中间加了下划线,2018_01_01这样子
第二段,是读取系统日期,判断如果日期是2,则将1日的备份复制到另一个目录,作为长期存储用。
第三段,清理备份目录中过期文件,-d代表天,30代表30天前,自己根据需要来
以上是关于通过批处理文件使用7zip执行备份,将1日和15日的备份再另外备份,定时清理过期备份的主要内容,如果未能解决你的问题,请参考以下文章
使用 7zip 命令将目录中的文件归档到单个 zip [关闭]
SaltStack初探---学习重点在:salt-apisalt-slssalt-runpillar--2017年4月21日和24日