foo_backup.sh

来自「backup files」· Shell 代码 · 共 62 行

SH
62
字号
#!/bin/bashBACKUP_DIR=/backupSRCDIR=/srcTODAY_TIME=$(date +%F)full(){	touch /tmp/time.key	cd $SRCDIR	find ./ ! -type d > file.list	mkdir -p $BACKUP_DIR/$TODAY_TIME	tar -T file.list -c | tar -x -C $BACKUP_DIR/$TODAY_TIME	sed -i "s/$/ $TODAY_TIME/" file.list	exit 0}update(){	[ ! -f /tmp/time.key ] && full 	touch /tmp/time.key.tmp	cd $SRCDIR	find ./ -newer /tmp/time.key ! -type d > file.list.tmp	mkdir -p $BACKUP_DIR/$TODAY_TIME	tar -c -T file.list.tmp | tar -x -C $BACKUP_DIR/$TODAY_TIME}check_backup(){	( [ ! -f file.list.tmp ] || [ ! -f file.list ] ) && exit 	while read filename	do		TMPSTR=$( grep "^$filename\>" file.list )		if [ -z "$TMPSTR" ] ; then			echo "$filename $TODAY_TIME" >> file.list		else			mkdir -p $BACKUP_DIR/check/$TODAY_TIME/$(dirname $filename)			diff $BACKUP_DIR/$(echo "$TMPSTR" | awk '{ print $2 }')/$filename $BACKUP_DIR/$TODAY_TIME/$filename > $BACKUP_DIR/check/$TODAY_TIME/$filename			sed -i "s/$TMPSTR/$filename $TODAY_TIME/" file.list		fi	done < file.list.tmp}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?