如何使用shell脚本从备份中删除多余的文件?

发布于 2024-11-15 08:18:26 字数 846 浏览 0 评论 0原文

备份 Shell 脚本

#!/bin/bash

backdest=/home/backup
date=$(date "+%F")

backupall="$backdest/arch-full-$date.tgz"
backuphome="$backdest/jary_p-$date.tgz"

tar -czpvf $backupall / --exclude=/home/* --exclude=/mnt/* --exclude=/media/* \
                        --exclude=/proc/* --exclude=/sys/* --exclude=/dev/*   \
                        --exclude=/tmp/* --exclude=/lost+found/*

tar -czpvf $backuphome /home/jary_p

数(5)次后
/home/backup 中有 Serveral(10) 个文件

$ls /home/backup
backup.sh
arch-full-2011-05-13.tgz
arch-full-2011-05-25.tgz
arch-full-2011-06-01.tgz
arch-full-2011-06-09.tgz
arch-full-2011-06-11.tgz
jary_p-2011-05-13.tgz
jary_p-2011-05-25.tgz
jary_p-2011-06-01.tgz
jary_p-2011-06-09.tgz
jary_p-2011-06-11.tgz

我怎样才能保留最新的 3 个文件(6) 并删除多余的文件?
谢谢
并且,抱歉我糟糕的英语。

A backup Shell Script

#!/bin/bash

backdest=/home/backup
date=$(date "+%F")

backupall="$backdest/arch-full-$date.tgz"
backuphome="$backdest/jary_p-$date.tgz"

tar -czpvf $backupall / --exclude=/home/* --exclude=/mnt/* --exclude=/media/* \
                        --exclude=/proc/* --exclude=/sys/* --exclude=/dev/*   \
                        --exclude=/tmp/* --exclude=/lost+found/*

tar -czpvf $backuphome /home/jary_p

Several(5) times later
there are Serveral(10) files in /home/backup

$ls /home/backup
backup.sh
arch-full-2011-05-13.tgz
arch-full-2011-05-25.tgz
arch-full-2011-06-01.tgz
arch-full-2011-06-09.tgz
arch-full-2011-06-11.tgz
jary_p-2011-05-13.tgz
jary_p-2011-05-25.tgz
jary_p-2011-06-01.tgz
jary_p-2011-06-09.tgz
jary_p-2011-06-11.tgz

How can I just keep the lastest 3 fiels(6) and delete extra files?
thanks
and, apologize my poor English.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

墨小沫ゞ 2024-11-22 08:18:27
ls -t $backdest/jary_p-*.tgz | tac | tail -n +3 | xargs rm

并使用 $backupall 的 glob 重复

ls -t $backdest/jary_p-*.tgz | tac | tail -n +3 | xargs rm

And repeat with $backupall's glob

仅一夜美梦 2024-11-22 08:18:27

我已经找到如何解决它

ls -htr *.tgz|head -n -6 | xargs rm

I have found how to solved it

ls -htr *.tgz|head -n -6 | xargs rm
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文