linux定时任务打包,文件名包含当天日期的方法如下:

可以使用 crontab 命令设置定时任务,并结合 tar 命令和 date 命令实现文件打包和命名。 以下是一个示例,假设要打包 /www/wwwroot/ 目录下的所有文件,并将压缩包保存到 /www/backup/ 目录:
backup.sh),内容如下:<code class="bash">#!/bin/bash
# 设置备份目录
backup_dir="/www/backup/"
# 获取当前日期,格式为YYYY-MM-DD
backup_date=$(date +%Y-%m-%d)
# 设置备份文件名
backup_file="${backup_dir}46.149.200.118-${backup_date}.tar.gz"
# 执行打包命令
tar -zcvf "${backup_file}" "/www/wwwroot/*"
# 可选:添加日志记录,方便监控备份过程
echo "$(date +"%Y-%m-%d %H:%M:%S") Backup completed successfully." >> "${backup_dir}backup.log"</code><code class="bash">chmod +x backup.sh</code>
crontab -e 命令编辑crontab文件,添加一行配置,例如每天凌晨2点执行备份:<code>0 2 * * * /path/to/backup.sh # 将 /path/to/ 替换为 backup.sh 脚本的实际路径</code>
解释:
/path/to/backup.sh: 这是 backup.sh 脚本的完整路径。 请根据实际路径修改。0 2 * * *: 这是crontab的定时表达式,表示每天的2点0分执行。 你可以根据需要修改这个表达式,例如 0 10 * * * 表示每天10点执行。 更多crontab表达式的细节可以参考crontab的文档。重要提示:
/www/backup/ 目录存在并且具有写入权限。/www/wwwroot/* 会打包/www/wwwroot/目录下的所有文件和子目录。如果需要排除某些文件或目录,需要修改 tar 命令的参数。例如,排除*.log文件可以使用tar -zcvf "${backup_file}" --exclude='*.log' "/www/wwwroot/*"。/www/backup/backup.log,查看备份是否成功。这个改进后的方案更加健壮,避免了直接在crontab中使用复杂的命令,也更容易维护和调试。 记住替换 /path/to/ 为 backup.sh 脚本的实际路径。
以上就是linux计划任务打包,文件名字为当天日期的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号