Skip to content

Instantly share code, notes, and snippets.

@ismailakbudak
Last active August 18, 2019 09:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ismailakbudak/d8b88526a97420eef61c to your computer and use it in GitHub Desktop.
Save ismailakbudak/d8b88526a97420eef61c to your computer and use it in GitHub Desktop.
#!/bin/bash
# Bu kodları çalıştırmak için bu dosyayı name.sh olarak kayıt edip bulunduğu dizine gidin ve
# terminalden şu kodu çalıştırın
# sh name.sh /directory/subdirectory
# dosya isminden sonraki /directory/subdirectory yedeği oluşturulacak dizini belirtir
# Terminali temizle
clear
# Parametre olarak girilen dizin
echo "Your directory $@"
path=$@
echo "Backup time period enter seconds : "
read time
while [ 1 ]; do
if [ $time -eq $time 2>/dev/null ]; then
echo "Ok your backup will creates each $time seconds and again after $time seconds:"
break
else
echo "Please enter integer value :"
read time
fi
done
count=1
while [ 1 ]; do
# Şuanki zaman
TIMESTAMP=`date +%d.%m.%Y-%H:%M`
# Girilen dizine backup isimli doya oluştur
DEST_DIR="$path/backup/"
mkdir -p $DEST_DIR
# Yedeği alınacak dizin
SRC_DIR=$path
# Backup dosya ismi
FNAME="BACKUP_$TIMESTAMP"
# Log dosyasının ismi
LOG="$path/backup/$TIMESTAMP.log"
# Yedeklemeyi başlama işlemini log dosyasına yaz
echo -e "Starting backup of $USER $SRC_DIR directory starting-time: $TIMESTAMP" >> ${LOG}
# Dizindeki dosyaları sıkıştır log dosyasına sıkıştılan dosya isimlerini yaz
tar -vczf ${DEST_DIR}/${FNAME}.tar.gz ${SRC_DIR} >> ${LOG}
# Log dosyasına sıkıştıma işlemi bittiğini yaz
echo -e "Ending backup of $USER $SRC_DIR directory ending-time: $TIMESTAMP" >> ${LOG}
# Girilen saniye kadar bekle
echo "$count backup finished..."
sleep $time
let count+=1
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment