В SED вы можете сопоставить последнюю строку с $
, и есть команда D
, которая удаляет текущую строку:
sed -i '$d' file.txt
Я не знаю, почему ты хочешь использовать ziped-файлы для резервного копирования.
Если вы используете rsync, то сможете создавать резервные копии только новых и измененных файлов (удаленные файлы не пострадают).
Пример:
#!/bin/bash
# see http://ss64.com/bash/rsync_options.html
DROPBOX=~/Dropbox/
BACKUP=~/dropboxbackup
rsync -rvt $DROPBOX $BACKUP
Флаги:
r - рекурсивные
v - verbose
t - сохранение времени
.Вам следует использовать crontab
Пример:
Если Вы хотите иметь скрипт с именем tarBackup. sh
выполняется каждый день в 5 утра, ваша запись crontab
будет выглядеть следующим образом.
Сначала установите свой cronjob
, выполнив следующую команду:
crontab -e
Добавить следующую запись:
0 5 * * * xterm -e /path/to/tarbackup.sh
Сохранить и закрыть файл.
Ваш tarBackup.sh
Ваш tarBackup.sh
должен иметь следующие строки.
#!/bin/bash
echo "Do you wan to backup?(yes/no)"
read input
if [ "$input" == "yes" ]
then
tar -cvf dir.tar dir1 dir2
else
echo "K sir,I won't backup anything"
fi
[Пример,Редактируйте команду tar как хотите]
Общий синтаксис для crontab следующий.
1 2 3 4 5 /path/to/some/command
где
1: Minutes 0-59
2: Hours in 24 hours format
3: Day 0-31
4: Month 0-12
5: Day of the week 0-7
/path/to/some/command - Command or script name to schedule