Excluir todo o backup anterior, deixando os dois últimos

0

Estou fazendo backup do meu servidor linux usando um script. Ele usa o seguinte código para nomear o sistema

# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

Desejo excluir todo o backup anterior, deixando os dois últimos. Como posso fazer isso?

    
por Puneet Dixit 14.03.2017 / 12:12

2 respostas

1

Você pode simplesmente deixar seu script de backup excluir o arquivo criado no dia anterior:

# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

# Do backup
#...

# Delete old backup (assuming GNU date)
deleteday=$( date -d '2 days ago' +'%A' )
rm -f "$hostname-$deleteday.tgz"
    
por 14.03.2017 / 13:07
0
find ... -mtime +2 -exec rm {} \;

Ou similar:)

    
por 14.03.2017 / 12:20