Script de commande shell de sauvegarde incrémentielle pour les fichiers Linux

Script de sauvegarde incrémentielle simple, après l'avoir utilisé, sélectionnez certaines parties et enregistrez-les pour référence future

# 昨天对应的月份
n_mon=$(date -d -1day +%Y%m)
# 组合文件夹路径
path=/home/admin/"$n_mon"
# 昨天的0点作为增量备份起始时间,今日0点作为截止时间
s_date=$(date -d -1day +%Y-%m-%d)' 00:00:00'
e_date=$(date +%Y-%m-%d)' 00:00:00'

s_time=$(date -d "$s_date" +%s)
e_time=$(date -d "$e_date" +%s)

# 创建备份文件夹
today=$(date +%Y%m%d)
mon_path=/home/admin/bak/$n_mon
bak_path=$mon_path'/'$today
if [ ! -d "$mon_path" ]; then 
	mkdir -p $bak_path
else
	mkdir $bak_path
fi
echo '>>> 创建文件夹:'$bak_path
echo '>>> 开始备份文件。。。'
s_s=$(date +%s)
for file in `ls $path`; do
    file_path=$path'/'$file
	ctime=$(busybox stat -c %Y $file_path) 
	# 比对文件的修改时间
	if [ $ctime -ge $s_time ]&&[ $ctime -le $e_time ]; then
		cp $file_path $bak_path'/'$file
	fi
done
b_s=$(date +%s)
echo '>>> 文件备份完成!(耗时:'$(($b_s - $s_s))'s)'
echo '>>> 开始打包。。。'
tar -zcPf /home/admin/bak/$today-bak.tar.gz $bak_path
c_s=$(date +%s)
echo '>>> 打包完成!(耗时:'$(($c_s - $b_s))'s)'
echo '>>> 删除备份文件夹。。。'
rm -rf $bak_path
r_s=$(date +%s)
echo '>>> 删除完成!(耗时:'$(($r_s - $c_s))'s)'
echo '>>> 备份任务完成!(共耗时:'$(($r_s - $s_s))'s)'


Quelques problèmes dans le processus d'écriture du scénario, notez-les de peur d'oublier au bout d'un moment :

1. Lorsque le script est en cours d'exécution, les problèmes suivants sont causés par le mauvais format du contenu du script

$'\r' : commande introuvable for file in ls path ' ; dosyntaxerrornearunex pectedtoken ' path`; faire une erreur de syntaxe près du jeton inattendu `chemin ' ; _ _ _d osy n t a x error n e a r u n e x p ect e d o k e n ' ' do\
insérez la description de l'image ici
r'Solution :utilisez l'éditeur npp, cliquez surEdition > Conversion du format de document > dans la barre d'outils Convertir en Unix(LF)

2. L'horodatage obtenu dans le script et l'heure de modification du fichier, la valeur par défaut est en secondes, pas en millisecondes

Je suppose que tu aimes

Origine blog.csdn.net/qq_42049516/article/details/131224426
conseillé
Classement