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

时间:2011-06-13 15:45:44

标签: linux bash shell backup

备份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

中有多个(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个fiels(6)并删除额外的文件? 感谢
并且,为我可怜的英语道歉。

2 个答案:

答案 0 :(得分:1)

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

并重复$ backupall的glob

答案 1 :(得分:0)

我找到了如何解决它

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