清理文件系统

pushbroom的Python项目详细描述


扫帚

pushbroom是一个工具,旨在帮助您的文件系统保持整洁。 某些目录,比如你的下载目录,倾向于积累 占用空间的大量旧文件。随着时间的推移,这些杂物会 累积到相当大的存储空间。扫帚给你一个轻松 删除这些旧文件的方法。

pushbroom是用python编写的,因此应该在 可以运行python。目前,它仅正式支持MacOS和Linux。

安装

自制(仅限MacOS)

通过自制安装:

brew install gpanders/tap/pushbroom

将包含的pushbroom.conf文件复制并修改为 ~/.config/pushbroom/config并使用brew services start gpanders/tap/pushbroom启动自动启动的守护进程:

cp -n /usr/local/etc/pushbroom.conf ~/.config/pushbroom/config
brew services start gpanders/tap/pushbroom

扫帚每小时一次。

Pypi

使用pip安装:

pip install --user pushbroom

来源

查看releases页 最新版本。提取存档文件并将其复制到正确的位置 位置:

tar xzf pushbroom-vX.Y.Z.tar.gz
cd pushbroom-vX.Y.Z
cp -r bin /usr/local/
cp -n pushbroom.conf ~/.config/pushbroom/config

用法

可以使用以下命令从命令行运行pushbroom:

pushbroom

使用pushbroom --help查看命令行选项列表。

配置

pushbroom配置文件分为几个部分,每个部分 表示要监视的目录路径。默认配置文件看起来 像这样:

[Downloads]
Path = ~/Downloads
Trash = ~/.Trash
NumDays = 30

这意味着,在默认情况下,pushbroom将监视您的~/downloads文件夹和 将任何超过30天的文件或文件夹移动到~/.trash目录中。

如果您不想将文件移动到~/.trash中,而只想删除 它们,只需删除Trash选项:

[Downloads]
Path = ~/Downloads
NumDays = 30

节的名称(Downloads在本例中)不重要,可以 随心所欲:

[Home Directory]
Path = ~
NumDays = 90

您还可以指定一个Ignore参数来指示pushbroom忽略任何 与给定全局匹配的文件或目录:

[Downloads]
Path = ~/Downloads
NumDays = 30
Ignore = folder_to_keep/**/*

以下配置项在pushbroom.conf中识别:

路径

指定要监视的目录

垃圾桶

指定删除后文件的移动位置。如果未提供此选项, 文件将被删除。

numdays

在删除文件之前将其保存在Path中的天数。

忽略

要忽略的文件或目录的全局表达式模式。

自动化

如果通过自制安装,则可以使用将Pushbroom设置为每小时运行一次

brew services start gpanders/tap/pushbroom

另一个选项是安装crontab条目

0 */1 * * * /usr/local/bin/pushbroom

如果您使用的是使用systemd的linux发行版,则可以复制 systemd service file 使用~/.local/share/systemd/启用服务

systemctl --user enable --now pushbroom

注意,您可能需要更改中pushbroom脚本的路径。 服务文件,具体取决于安装方法。

类似工作

  • Belvedere:自动文件管理器 对于Windows
  • Hazel:Mac电脑的自动组织

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
请求响应模式的java JMS   java如何从SeleniumWebDriver中的“Span Type下拉列表”中选择值   java JPA相当于Hibernate的@Generated(GenerationTime.ALWAYS)   java ActiveMQ查询:如何启动   java如何在jsp文件中使用freemarker标记库?   java如何在TabsLayout中用另一个片段替换一个片段的内容?   国际化如何理解Java教程国际化定制资源包加载示例?   XML配置中的java spring log4j无法为日志信息创建文件   oracle11g JDK 6:有没有办法运行一个新的java进程来执行指定类的主方法   java在avro模式中使用“default”   缺陷跟踪我在哪里可以提交关于FOSS Java Sound实施组织的缺陷报告。类路径。冰岛。pulseaudio。Pulseaudiosourcedaline?   编码Java系统。在和系统中。Sun/Oracle和IBM JVM解决方案在读写标准字节数组方面存在差异   java如何将列表项作为查询参数添加到字符串url中?   将自定义库导出到可导入jar文件java