linux下创建定时任务 执行删除某文件夹下所有

本文介绍了如何在Linux系统中设置定时任务,每天0点执行删除指定文件夹(/usr/local/tomcat/apache-tomcat-6.0.45/webapps/wechat/)下所有内容的步骤。首先通过`crontab -e`编辑定时任务,添加执行脚本的命令。接着确认定时任务设置正确,并创建执行脚本`deleteWechatVoice.sh`,内容为删除指定文件夹的命令`rm -rf /usr/local/tomcat/apache-tomcat-6.0.45/webapps/wechat/*`。最后,启动`crond`服务确保定时任务生效。

1.    键入 crontab  -e 编辑crontab服务文件

  文件内容添加:0 0 * * * /bin/sh /usr/local/tomcat/apache-tomcat-6.0.45/webapps/deleteWechatVoice.sh

0 0 * * * 为定时时间   /bin/sh为执行命令    /usr/local/tomcat/apache-tomcat-6.0.45/webapps/deleteWechatVoice.sh 为定时执行的脚本

2.   保存之后,crontab -l   查看是否创建成功

结果显示为: 0 0 * * * /bin/sh /usr/local/tomcat/apache-tomcat-6.0.45/webapps/deleteWechatVoice.sh


3.    创建脚本

        touch /usr/local/tomcat/apache-tomcat-6.0.45/webapps/deleteWechatVoice.sh

编辑:   vi  /usr/local/tomcat/apache-tomcat-6.0.45/webapps/deleteWechatVoice.sh

             脚本内内容: rm -rf  /usr/local/tomcat/apache-tomcat-6.0.45/webapps/wechat/*

(删除wechat下所有文件)


4.     /sbin/service crond start  启动服务

### 定时任务配置方法 为了实现定期清空文件夹中的所有文件,可以分别在 Linux 和 Windows 上利用不同的工具来完成此操作。 #### Linux 系统下的解决方案 Linux 下可以通过 `Cron` 调度程序配合简单的 Shell 命令来清除目标目录的内容。以下是具体的操作方式: 1. **创建清理脚本** 创建一个名为 `clear_folder.sh` 的 Bash 脚本删除指定路径下的所有文件目录。 ```bash #!/bin/bash TARGET_DIR="/path/to/folder" find "$TARGET_DIR" -mindepth 1 -delete ``` 这里的命令解释如下: - `/path/to/folder` 是要被清空的目标文件夹路径[^1]。 - `-mindepth 1` 表示忽略根目录本身,仅作用于其内部内容。 - `-delete` 参数用于递归删除匹配到的所有文件目录。 2. **设置权限并测试脚本** 使用以下命令赋予脚本执行权限,并手动运行它以验证功能正常。 ```bash chmod +x /path/to/clear_folder.sh ./path/to/clear_folder.sh ``` 3. **编辑 Crontab 文件** 执行 `crontab -e` 来打开用户的 crontab 配置文件,添加一行定义定时任务的条目。例如,如果希望每天凌晨两点执行脚本,则应写入如下内容: ``` 0 2 * * * /path/to/clear_folder.sh >> /var/log/clear_folder.log 2>&1 ``` 此处的日志记录有助于排查可能发生的错误情况。 #### Windows 系统下的解决方案 Windows 中则可通过 Task Scheduler (计划任务) 结合批处理文件达成相同目的。 1. **编写 Batch 清理脚本** 制作一个 `.bat` 文件用来移除目标位置上的项目。假设我们的工作目录位于 C:\Temp\FilesToCleanUp,那么 batch 文件内容可能是这样的: ```batch @echo off setlocal enabledelayedexpansion :: Define the target directory to clean up. set TargetDir=C:\Temp\FilesToCleanUp del /q "%TargetDir%\*.*" for /d %%p in ("%TargetDir%\*.*") do rd /s /q "%%p" exit ``` 解析上述代码片段的作用: - `%TargetDir%` 变量存储待整理区域的位置信息。 - `del /q` 删除非隐藏属性的标准文件;而嵌套循环结构负责彻底销毁任何存在的文件夹及其成员。 2. **安排周期性触发动作** 启动 “控制面板 -> 管理工具 -> 计划任务”,新建基本任务向导填写名称描述之后选择何时启动以及频率选项——这里可以选择每日、每周甚至更复杂的模式依据实际需求调整参数值即可。 无论是哪种操作系统环境之下,都建议先单独调试好各自的执行单元再正式投入使用前进行全面的功能性和安全性评估确认无误后再投入生产环境中长期运作下去。 ```python import os, shutil def clear_directory(path): """Clear all contents within a given folder.""" try: for root, dirs, files in os.walk(path): for f in files: os.unlink(os.path.join(root, f)) for d in dirs: shutil.rmtree(os.path.join(root, d)) except Exception as e: print(f'Error occurred while clearing {path}:', str(e)) if __name__ == '__main__': dir_path = '/your/directory/path' clear_directory(dir_path) ``` 以上 Python 函数提供了一种跨平台的方式来清空给定路径下所有的文件文件夹,适用于那些希望通过编程接口集成此类逻辑的应用场景之中去调用使用。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值