Linux Shell脚本_备份文件的批量删除 1.0
最近师傅要求写一个Linux Shell脚本,这个以前从来没接触过,自己就在周末研究了一天,虽然代码现在看起来简单,但是毕竟第一次接触,花了好多时间,好了,开始正题:
这个脚本的功能主要是删除没有用的备份文件,条件是保留最新两天的文件,其他的全部删除
比如说有1号到10号的文件,那么就保留9号,10号两天的文件,其他的全部删除
看代码:
- #!/bin/sh
- echo "begin deleting"
- #进入备份文件夹下
- cd back_up/
- #取得最新文件及其时间
- lastestfile=`ls -t|head -n1`
- lastestdate=`ls -la $lastestfile --time-style '+%Y%m%d'| awk '{print$6}'`
- ((lastestdate=lastestdate-1));
- while true
- do
- #取得最老的文件及其时间
- oldfile=`ls -rt|head -n1`
- olddate=`ls -la $oldfile --time-style '+%Y%m%d'| awk '{print$6}'`
- if [ "$lastestdate" -eq "$olddate" ]; then
- #删除完毕,退出循环
- exit 0
- fi
- if [ "$lastestdate" -gt "$olddate" ]; then
- rm $oldfile
- fi
- done
这段代码很简单,由于之前没写过shell,所以周末研究了一天,顺便把linux的命令也熟悉了一下,感觉收获很多
学到的相关的命令:
touch -d "3 days ago" onefile ----->把onefile文件的时间修改为3天前
awk命令 print$6 ---->显示第六列的内容 (单列显示文件信息)
ls -lt 新-->旧显示 ls -rt -->旧-->新显示、
ls -t|head -n1 -----> 显示最新的那个文件
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20