【powershell】Windows环境powershell 运维之历史文件压缩清理

这篇具有很好参考价值的文章主要介绍了【powershell】Windows环境powershell 运维之历史文件压缩清理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【powershell】Windows环境powershell 运维之历史文件压缩清理,运维之美,运维,powershell,ps,ps脚本,Window运维,windows文件压缩,windows自动化

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁

🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

感谢点赞和关注 ,每天进步一点点!加油!

目录

一、Power Shell概述

1.1 Windows Power Shell简介

1.2 PowerShell是什么

1.3 windows执行策略更改

二、PowerShell使用

2.1 文件复制

2.2 文件压缩清理


一、Power Shell概述


1.1 Windows Power Shell简介


Windows PowerShell 是微软发布的一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。

引入了许多非常有用的新概念,从而进一步扩展了在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。

1.2 PowerShell是什么


PowerShell,从名字可以知道,他首先是一个shell,shell的意思就是和Linux的bash等一样、和原来的cmd一样就是在里边敲命令(可执行文件)使用;而Power就意味他是一个功能强大的shell,从面向用户而言,个人觉得其功能强大体现在以下几方面:

(1) 微软态度。微软是真正的在推行PowerShell,包括Office等更多自家软件,底层都是调用PowerShell来实现。

(2) 兼容性cmd。PowerShell包含原先cmd的所有命令,原先命令使用形式不变,在是在其基础上添加命令。

(3) 对标Linux。PowerShell使用了Linux Shell的思想,也就是所有的系统操作、配置,都可以在shell中敲写命令实现。

(4) 统一的命令格式和自包含的文档。PowerShell的两个优点:第一点是PowerShell所有命令使用统一的cmdlet命令格式(也就是“动词-名词”的格式,比如get-process)会使人很容易记住;第二点这里所谓自包含是指你要干一件事你可以逐步找到要做的事所需的所有命令,即便你记不得命令你也可以很容易找到,你找到命令看文档就很容易知道怎么使用。

1.3 windows执行策略更改


右击开始找到 powershell 管理员

【powershell】Windows环境powershell 运维之历史文件压缩清理,运维之美,运维,powershell,ps,ps脚本,Window运维,windows文件压缩,windows自动化

进入powershell命令行执行如下命令一定要执行!

执行如下命令,回车选择Y( 复制后鼠标 右击可粘贴,也可将执行的命令放到临时文本中再复制到命令行执行)

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

执行如下命令,回车选择Y

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope localMachine

执行下面的命令查看 CurrentUser,LocalMachine 是否已改为 Bypass

get-executionpolicy -list

【powershell】Windows环境powershell 运维之历史文件压缩清理,运维之美,运维,powershell,ps,ps脚本,Window运维,windows文件压缩,windows自动化

修改后的执行策略检查

【powershell】Windows环境powershell 运维之历史文件压缩清理,运维之美,运维,powershell,ps,ps脚本,Window运维,windows文件压缩,windows自动化

检查通过后,关闭powershell 即可。


二、PowerShell使用


2.1 文件复制


文件有一个目录拷贝到另一个目录

write-host "copy file data start ..."
# 当前日期
$fileDate=Get-Date -Format 'yyyy-MM-dd'
write-host $fileDate

# 从当天的目录下拷贝文件到目标路径
Copy-Item  D:\test\00000\$fileDate\*   D:\test\00000\bak

执行结果

【powershell】Windows环境powershell 运维之历史文件压缩清理,运维之美,运维,powershell,ps,ps脚本,Window运维,windows文件压缩,windows自动化

PowerShell ISE 提供模块方法查询,可以对ps脚本进行编辑运行和测试

【powershell】Windows环境powershell 运维之历史文件压缩清理,运维之美,运维,powershell,ps,ps脚本,Window运维,windows文件压缩,windows自动化

2.2 文件压缩清理


获取文件夹下7天之前的天文件夹目录进行打包压缩,并删除7天之前的文件夹。压缩使用7-zip。

######################################################
#    Desc: File Compress 1.0                         #
#    Author: kangll                                  #
#    soft: Use 7-zip                                 #
#    Date: 2023-12-13                                #
######################################################


############################ 全局变量 ###################

# 设置7-zip命令程序路径
$zip7="D:\test\7-Zip\7z.exe"

# 当天日期
$backup_date=get-date -format "yyyy-MM-dd"

# 获取一周前的日期
$weekAgo=(get-date).adddays(-7)| get-date -format "yyyy-MM-dd"

########################## bak file #######################
# 定位到待压缩的文件夹
$bak_file="D:\test\reid_traj"

# 保存的路径
$bak_save_dir="D:\test\reid_traj"


# 文件夹除当天外的日期文件夹都打包
Get-ChildItem $bak_file | ForEach-Object -Process{
   if ($_.CreationTime -lt $backup_date)
   {
	   # 使用7zip将轨迹文件夹目录下文件夹件压缩为zip格式 
	   $dateStr=$_.name
	   & $zip7 a -tzip $bak_save_dir\$dateStr.zip $bak_file\$dateStr
   }
}


# 列出一周前的文件夹删除,除当天外的所有日期均打包完成
Get-ChildItem $bak_file | ForEach-Object -Process{
   if ($_.CreationTime -lt $weekAgo)
   {
		# $_.Fullname ,获取文件夹全路径删除,D:\test\reid_traj\2023-05-11
        Remove-Item $_.Fullname  -Recurse
   }
}

执行完成 按照天路径打包

【powershell】Windows环境powershell 运维之历史文件压缩清理,运维之美,运维,powershell,ps,ps脚本,Window运维,windows文件压缩,windows自动化

我们可以看下bat脚本,bat执行sqlServer存储过程。

:: 带"-"的日期
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set today2=%date:~0,4%%date:~5,2%%date:~8,2%

:: 数据库连接信息
set execOSQL="osql" -S localhost\ipva   -U sa -P 123456 -d test -Q

:: 存储过程, windows环境执行存储过程将文件插入到表中
set "hhh=loadFile 'D:\test\reid_trace\%today%','%today2%'"

:: 存储过程执行
%loadFile.sql%
%execOSQL% "exec %hhh%"
if %errorlevel% == 0 (echo  -------------------- Procedure %hhh% executer successfully! --------------------) else (echo Procedure %hhh% executer failed!)

bat 和PS个人使用下来 感谢PS脚本更加强大和简单,BAT看起来就有点臃肿并复杂难懂。文章来源地址https://www.toymoban.com/news/detail-761555.html

到了这里,关于【powershell】Windows环境powershell 运维之历史文件压缩清理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux笔记--文件内容操作和历史命令

    目录 cat命令 more命令 less命令 head命令 tail命令 sed命令 vim编辑器 history命令 clear命令 查看文件内容,标准输出 补充:         1.标准输出:在linux中规定为输出到屏幕         2.标准输入:在linux中规定为从键盘输入 /etc/hostname文件是用来存放主机名,/etc/centos-release文件存放的

    2024年01月22日
    浏览(43)
  • git删除历史提交中的某些文件

    要从所有提交中删除PDF文件并保留本地文件,你需要使用 git filter-repo 命令或 git filter-branch 命令来重写历史。请注意,这将修改提交历史,因此需要小心操作,确保在执行之前备份数据。 以下是使用 git filter-repo 命令的示例,假设要删除所有PDF文件: 如果你要删除多个文件,

    2024年02月14日
    浏览(60)
  • idea怎么查看文件的git历史记录

    在 IntelliJ IDEA 中查看文件的 Git 历史记录是一个直观的过程。请按照以下步骤操作: 打开文件 : 首先,在 IntelliJ IDEA 中打开您想要查看历史记录的文件。 右键点击文件 : 在项目浏览器中找到该文件,右键点击文件名。 选择“Git”选项 : 在右键菜单中,找到“Git”子菜单

    2024年02月05日
    浏览(56)
  • 【VSCode】查找本地修改历史并恢复已删除文件

    在原先编好的代码里删删改改,后面发现越改越不像样,准备返回去重做,但注释掉的代码并不是全部,已经删了以前写好的部分。本以为自己是有存档的结果之后的代码偏偏没有存。 根据时间有个大致印象是9月13日左右,所以现在开始找时间相近的历史文件 根据[1]资料可

    2024年02月04日
    浏览(41)
  • 04---------Git查看某一个文件的历史提交信息

    一、查看提交记录 1、git log 2、git reflog 二、查看一个文件的历史提交信息 三、查看某个版本文件修改情况 git show 版本号 文件名

    2024年02月11日
    浏览(59)
  • 检测到目标网站存在Bash Shell历史记录文件

    Bash Shell历史记录文件.bash_history包含了用户在bash shell运行的命令的历史记录.可能包含有与目标机器相关的敏感信息。这些敏感信息可以帮助攻击者针对站点发起进一步的攻击,降低攻击的难度。 如果不需要该文件,建议删除对应的文件。或者更改文件的访问权限。 不做任何

    2024年02月16日
    浏览(45)
  • vs code 可视化git diff比较历史文件与当前文件(git lens插件)

    首先我们需要安装git lens插件 和git graph插件 然后 我想比较first和 当前HEAD的文件差异 如果使用命令行,就是 但是这样很不方便,不能可视化 如果安装了git lens 只需要 打开想看的文件 打开侧边栏的git标志,然后打开FILE HISTORY。这里就显示了所有与该文件修改有关的commit 3. 点

    2024年02月16日
    浏览(49)
  • 运维之道—生产环境安装mysql

    目录 1.前言 2.部署安装 2.1 下载mysql5.7版本的yum仓库 2.2 安装yum仓库 2.3 安装mysql-server 2.4 启动mysql-server 3. 生产配置 3.1 登录mysql 3.2 修改root账户密码 3.3 配置mysql

    2024年01月21日
    浏览(46)
  • vscode恢复被误删的文件(巧用本地历史记录)

      背景: (希望永远不要有这个背景)使用vscode开发项目时,新建了文件,且文件没有git add、没有git stash、没有git commit。但是不小心点中了撤销更改(新文件的撤销更改,其实就是删除该新文件),导致文件或者文件中部分代码被删除。   诉求: 找回已删除的代码片段或

    2024年02月11日
    浏览(53)
  • 大量删除hdfs历史文件导致全部DataNode心跳汇报超时为死亡状态问题解决

    背景: 由于测试环境的磁盘满了,导致多个NodeManager出现不健康状态,查看了下,基本都是data空间满导致,不是删除日志文件等就能很快解决的,只能删除一些历史没有用的数据。于是从大文件列表中,找出2018年的spark作业的历史中间文件并彻底删除(跳过回收站) 问题产生过

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包