首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Powershell脚本,在一个脚本中删除所有容器中超过30天的.bak文件

Powershell脚本是一种用于自动化任务和管理Windows操作系统的脚本语言。它结合了命令行的灵活性和脚本编程的能力,可以通过编写脚本来完成各种系统管理和配置任务。

在一个脚本中删除所有容器中超过30天的.bak文件,可以按照以下步骤进行操作:

  1. 首先,需要使用Powershell的Docker模块来管理容器。可以使用以下命令安装Docker模块:
代码语言:txt
复制
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
  1. 然后,需要连接到Docker守护程序。可以使用以下命令连接到本地的Docker守护程序:
代码语言:txt
复制
Connect-Docker
  1. 接下来,可以使用以下命令列出所有的容器:
代码语言:txt
复制
Get-Container
  1. 针对每个容器,可以使用以下命令删除超过30天的.bak文件:
代码语言:txt
复制
$containers = Get-Container
foreach ($container in $containers) {
    $containerId = $container.Id
    $files = docker exec $containerId ls -Filter "*.bak" -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) }
    foreach ($file in $files) {
        docker exec $containerId rm $file.FullName
    }
}

以上脚本会遍历所有容器,找到超过30天的.bak文件,并删除它们。

在这个场景中,推荐使用腾讯云的容器服务产品TKE(Tencent Kubernetes Engine)。TKE是一种高度可扩展的容器管理服务,可以帮助用户轻松部署、管理和扩展容器化应用。您可以通过以下链接了解更多关于TKE的信息:TKE产品介绍

请注意,以上答案仅供参考,具体操作步骤可能因环境和需求而异。在实际使用中,请根据具体情况进行调整和测试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 在 Shell 脚本中调用另一个 Shell 脚本的三种方式

    被调用的脚本与父脚本在同一个 Shell 内执行。但是使用 exec 调用一个新脚本以后, 父脚本中 exec 行之后的内容就不会再执行了。...这是 exec 和 source 的区别. source 与 fork 的区别是不新开一个子 Shell 来执行被调用的脚本,而是在同一个 Shell 中执行....所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中进行获取和使用。 其实从命名上可以感知到其中的细微区别,下面通过两个脚本来体会三种调用方式的不同: 第一个脚本,我们命名为 1.sh: #!...exec 在同一个 Shell 内执行,但是父脚本中 exec 行之后的内容就不会再执行了 source 在同一个 Shell 中执行,在被调用的脚本中声明的变量和环境变量, 都可以在主脚本中进行获取和使用...参考: 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)

    4.4K20

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ③ ( 在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 )

    二、在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介...构建脚本 切换设置 , 切换 应用 / 依赖库 ; AndroidManifest.xml 清单文件 切换设置 , 设置 启动 Activity 项 ; 在 【Android Gradle 插件】组件化中的...一、AndroidManifest.xml 清单文件切换设置 ---- 在应用中 , 每个应用 只能有一个 启动 Activity , 如果有多个肯定会报错 ; 在组件化中 : 模块化模式 : 正常的模式...修改成上述配置 : 二、在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 ---- 在 模块下 的 build.gradle 构建脚本 中的 " android...Release 发布阶段, 只有一个壳应用是可以独立运行的, 其它所有的模块都作为依赖库存在, * 此时, isModuleDebug 设置为 false. ( 非单独运行 )

    2.1K50

    在windows程序中嵌入Lua脚本引擎--建立一个简易的“云命令”执行的系统

    在《在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎》开始处,我提到某公司被指责使用“云命令”暗杀一些软件。...在CS体系结构中,如果我们要完成某个业务需求,往往要修改二进制文件,并发布到客户端。这样,我们在客户端的副本将有机会去执行相关逻辑。...这就是为什么不发一些小的Exe去执行指令的原因。还有一个原因便是文件大小,Exe文件一般来说会比我们编写的Lua脚本要大。         ...该工程将引用1中生成的lib文件。         同时,该工程提供一个下载工程,即模拟从服务端下发数据。...这是为了简易,如果想搞的复杂,可以考虑让服务器下发地址或者直接下发命令。           我在服务端保存的是一个简易的Lua脚本。

    1.6K20

    红队第7篇:IIS短文件名猜解在拿权限中的巧用,付脚本下载

    其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同) 2. 后缀名最长只有3位,多余的被截断,超过3位的长文件会生成短文件名 3....所有小写字母都会转换成大写字母 4. 长文件名中含有多个.,以文件名最后一个.作为短文件名后缀 5....该漏洞的利用价值 此漏洞可以得到网站每个目录下文件的前6位字符,其利用价值体现在: 1. 猜解网站的后台地址。 2. 猜解敏感文件,例如网站备份的.rar、.zip、.bak、.sql文件等。...如果在红队项目过程中,得知网站下有一个DATABA为前缀的文件名,那么就可以很容易猜到完整的数据库文件名database.zip或者databackup.zip,那么就可以直接下载数据库了,这对于红队项目是非常有帮助的...IIS 10.0下OPTIONS请求判断 接下来看一下IIS 10.0的情况下,同样在wwwroot目录下放一个databackup.zip文件: http://192.168.237.166/databa

    1.1K20

    metasploit、powershell之Windows错误系统配置漏洞实战提权

    Trusted Service Paths漏洞产生原因 windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。...操作系统会对文件路径中空格的所有可能进行尝试,直到找到一个匹配的程序。...参数说明:“M”表示修改,“F”代表完全控制,“CI”代表从属容器将继承访问控制项,“OI”代表从属文件将继承访问控制项。这意味着对该目录有读,写,删除其下的文件,删除该目录下的子目录的权限。...接着该模块尝试利用列表中第一个受影响的服务,将恶意的可执行程序放到相应受影响的文件夹中去。接着受影响的服务被重启,最后,该模块会删除该恶意可执行文件。...图9 上传工具 上传好脚本后,输入shell命令进入CMD提示符下,然后可以使用下列命令在本地隐藏权限绕过执行该脚本,会自动进行所有的脚本检查。见图10所示。

    1.2K30

    2年目睹40次删库场景,我决定给蘑菇写一个备份脚本

    docker 镜像中备份数据 pushGitee.sh 脚本是用来推送数据到 Gitee 的 bak 目录,存储备份的 SQL 脚本 把刚刚下载好的文件,通过xftp工具,丢到 /root/docker-compose...rm -rf {} \;(删除超过21天的备份) echo "start backup mysql" #(备份两个数据库) mysqldump -uroot -pmogu2018 mogu_blog_business...bak/$dt_now/mogu_picture.sql 最终将结果输出到容器的 /mysqlBak/bak 目录 同步到Gitee仓库 而刚刚我们已经将容器中的 /mysqlBak 目录挂载到 /root...用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的 crontab 文件都被保存在 /var/spool/cron 目录中。.../pushGitee.sh > /root/bak.log 2>&1 & 设置就是每天 2点10分,执行 pushGitee.sh 文件夹下的定时备份脚本,同步我们的数据库到 Gitee 中,再也不怕被删库了

    75520

    如何高效的使用PowerShell备份数据库

    方便我们仅仅通过一个参数修改完成命令。上面的脚本中这个参数其实就是数据库名称。进一步而言也可能是数据表,SQL Server Agent Jobs,CSV 文件等等。...注意:这是在PowerShell ISE中,其他的编辑器可能会有不同的弹出参数的的触发。比如我尝试了在PowerShell console 中需要用“Crtl”+空格键才会触发。...-BackupFile 现在,你已经选择了备份的类型以及备份内容。默认情况是备份为.bak后缀的文件。这是附加备份这样可以不删除文件的情况下附加备份,相应的空间占用会越来越大。...SQL Provider 最后一个选项就是你可以在SQL Server PowerShell Provider中运行这个命令。...或者使用下面的代码样例来备份这个实例中的所有数据库。 ?

    2.5K60

    如何高效的使用PowerShell备份数据库

    方便我们仅仅通过一个参数修改完成命令。上面的脚本中这个参数其实就是数据库名称。进一步而言也可能是数据表,SQL Server Agent Jobs,CSV 文件等等。...再次返回最上面的备份例子中,如在备份指令后添加一个-CompressionOption参数,然后空格会显示几个可选参数,如on、off、default等, 注意:这是在PowerShell ISE中,其他的编辑器可能会有不同的弹出参数的的触发...比如我尝试了在PowerShell console 中需要用“Crtl”+空格键才会触发。...-BackupFile 现在,你已经选择了备份的类型以及备份内容。默认情况是备份为.bak后缀的文件。这是附加备份这样可以不删除文件的情况下附加备份,相应的空间占用会越来越大。...或者使用下面的代码样例来备份这个实例中的所有数据库。

    1.9K20

    在WSL2中安装CentOS发行版

    Chocolatey 是基于 NuGet 的一个软件包管理器,就像 Linux 中的 yum 或 apt 一样,在 Windows10 中也可以用命令行安装程序了。...`e` , `export` - 将发行版的文件系统导出到`.tar.gz` 文件,该文件可以通过 `install` 命令安装。 `r` , `run` - 在发行版中运行命令。...安装完毕后,可以运行以下命令进行查询 systemctl status | cat 与其它方法的对比 在官方文档中,Distrod 描述了其工作原理: 简而言之,Distrod 是一个二进制文件,它会创建一个简单的容器...当 Distrod 作为登录 shell 被 wsl 的 init 进程启动时,Distrod: 在简单的容器中启动 systemd 在这个容器中启动你实际的 shell 在 systemd 会话和 wsl...事实上 Distrod 和 genie、subsystemctl 的工作原理是类似的:创建一个容器,在容器内以 pid 1 启动 systemd 并使用 shell。

    10.2K30

    导出域内用户hash的几种方法

    这个二进制文件有两个交互式和脚本模式,因此可以使用一个脚本文件,它将包含自动执行NTDS.DIT提取过程所需的所有命令。...脚本文件可以包含以下行,以便创建新的卷影副本,装入新驱动器,执行复制命令并删除卷影副本。...vssown 与vssadmin实用程序类似,它是一个可视化基本脚本,可以创建和删除卷影副本,从卸载的卷影副本运行任意可执行文件,以及启动和停止卷影复制服务。...在执行期间,fgdump将尝试禁用可能在系统上运行的防病毒软件,如果成功,则会将所有数据写入两个文件中。...该脚本将所有信息写入项目名称下的各种文件中,当数据库文件NTDS的解密完成后,将用户列表和密码哈希值导出到控制台中。该脚本将提供有关域用户的大量信息,如下所示。 ? 密码哈希将以下列格式显示。 ?

    5K40

    抓取域密码哈希的各种工具集合

    这些密码哈希存储在域控制器(NTDS.DIT)中的数据库文件中,并包含一些附加信息,如组成员和用户。 NTDS.DIT 文件经常被操作系统使用,因此不能直接复制到另一个位置提取信息。...Nishang Nishang 是一个 PowerShell 框架,Copy-VSS.ps1 脚本可用于自动提取所需文件:NTDS.DIT、SAM 和 SYSTEM,提取的文件存放于指定的目录下,项目下载地址...PowerSploit PowerSploit 包含一个 PowerShell 脚本,VolumeShadowCopyTools.ps1 使用 shadow copy 服务,创建新的卷来提取相关文件:...在 Meterpreter 会话中运行脚本,可以实现相同的输出: ? 使用 -PWDumpFormat 参数: ?...脚本会将不同信息存储在不同到文件中,比如用户信息: ? 密码散列到格式如下: ?

    2.3K50

    mysqldump备份容灾脚本(上)

    一.备份脚本 环境需求 编辑/etc/my.cnf文件添加在[mysqld]版块下添加如下变量,添加后重启服务 #开启,并且可以将mysql-bin改为其它的日志名 log-bin=mysql-bin...#添加id号,如果做主从,就不能一样 server-id=1 #超过200M将生产新的文件,最大和默认值是1GB max_binlog_size=1G #此参数表示binlog使用最大内存的数,默认1M...) 重新启动时(MySQL将会new一个新文件用于记录binlog) 全量脚本 mybak-all.sh,对脚本变量部分进行配置 #!.../xx.sh -uroot -p'123456',使用前修改脚本进行变量配置 #过程:备份并刷新binlog,将最新的binlog文件名记录并整体压缩打包 #恢复:先进行全量备份,再对根据tim-binlog.txt...中的记录,进行逐个恢复 #提示:最多每分钟执行一次,否则会覆盖同分钟内的文件,可以修改脚本来改善 # 出现问题会退出,可以到指定的日志目录查看日志输出 # 同年的tar包超过指定天数的会删除掉

    1.2K00

    解决Windows 11系统C盘爆满:Docker 桌面版日志文件的疑难杂症

    问题来源:Docker日志文件 Docker作为一种流行的容器化平台,其日志文件记录了容器的运行信息,对于调试和监控应用至关重要。...:在开始菜单搜索“PowerShell”,右键点击“Windows PowerShell”,选择“以管理员身份运行”。...执行脚本:将上述脚本粘贴到PowerShell窗口中,按Enter执行。 分析结果:脚本执行完成后,会列出当前目录下所有子目录的大小(以GB为单位),并按大小降序排列。...注意事项: 清理日志文件前,请确保这些日志信息对您当前的工作不再重要。 某些日志文件可能需要Docker服务停止后才能删除。...结语 通过上述方法,您不仅可以解决因Docker日志文件导致的C盘空间爆满问题,还可以应用这一技巧,管理系统中的任何其他大文件或文件夹。保持C盘的清爽,让您的Windows系统运行更加流畅!

    1.1K10

    shell脚本实现自动保留最近n次备份记录

    .log”的文件删除。...; “ ×.log”:希望查找的数据类型,”×.jpg”表示查找扩展名为jpg的所有文件,”×”表示查找所有文件,这个可以灵活运用,举一反三; -exec:固定写法; rm -rf:强制删除文件,包括目录...; {} \; :固定写法,一对大括号+空格++; 解决问题的思路: 当然楼主当然不能傻乎乎的将备份目录下的所有文件都删除掉,这样的话,备份不就失去了意义。...find ${BAK_HOME} -mtime +1 -name "*:*" 说明: 获取备份目录下所有一天前带”:”的所有文件数量。 到了这里我们的问题差不多就可以解决了。...so,请接着往下看: 解决方案的思路及shell脚本的实现 思路 目前解决该问题的方法是在原来部署脚本中添加一段脚本,实现保留最近10次部署的备份记录,超过10次的备份记录将被删除.

    1.4K10

    【经验分享||快速解决】【修改版】使用Python脚本来按顺序重命名目录中的MP4文件,脚本会列出指定目录中的所有MP4文件,并按顺序重命名为1.mp4、2.mp4、3.mp4等

    问题背景 因为我要上传到某站的平台视频过多,视频全是未命名的文件mp4,导致我很容易传错顺序,所以需要一个一个重命名。 但是一个一个重命名又太麻烦了,所以我写了一个python脚本,用于快速重命名。...这个Python脚本用于按顺序重命名目录中的MP4文件。这个脚本会列出指定目录中的所有MP4文件,并按顺序重命名为1.mp4、2.mp4、3.mp4等。...改进后的代码 当文件已经存在时候跳过该文件 这样就行了 修改后的完整代码如下 import os def rename_files_in_directory(directory_path...): # 获取目录中的所有文件名 files = os.listdir(directory_path) # 过滤出所有MP4文件 mp4_files = [file for...for i, file_name in enumerate(mp4_files, start=1): # 构造旧文件名和新文件名的完整路径 old_file_path

    14910

    内网渗透基石篇——权限维持分析

    用可执行文件serhc.exe.bak 替换 windows\system32 目录下的粘滞键可执行文件sethc.exe在Empire下也可以简单地实现这一功能。...首先找到sethc.exe文件,然后点击属性,选择所有者,编辑,选择当前所有者为Administrator。...metsaploit中模拟计划任务后门 使用Metasploit的powershell Payload Delivery 模板,可以模拟攻击者在目标系统中快速建立会话的行为。...中模拟计划任务后门 使用PowerShell版本的PowerSploit渗透测试框架的Persistence模块,可以模拟生成一个自动创建计划任务的后门脚本上传到目标后,导入脚本 Import-Module...通过这种方法,攻击者可以在系统中安装一个具有持久性的后门,且不会在系统中门外的任何文件。WMI 型后使用了 WMI 的两个特征,即无文件和无进程。

    1.5K20
    领券