У меня есть несколько файлов для резервного копирования. Мне нужен скрипт, чтобы проверить номер строки файла, и если он превышает, скажем, 8000 строк, он просто застегнет его и назовет его форматом даты. Мне нужна ваша помощь.
Вот пример скрипта, который делает то, что вы описываете
#!/bin/sh
FILENAME=$1
LINES=$(cat "$FILENAME" |wc | awk '{print $1}')
MAXLINE="8000"
DATE=$(date +'%Y-%m-%d')
BACKUP_PATH="/path/to/files/"
do_backup(){
tar xvf ""backup_$DATE.tar"" "$BACKUP_PATH"
}
if [ "$LINES" -gt "$MAXLINE" ];
then
do_backup
fi
Сначала он объявляет сом переменные,
FILENAME - это файл, который вы хотите проверить длину.
LINES iis количество строк, которые мы находим, в файле, который мы проверяем
MAXLINES - это максимальное количество строк, которые мы разрешаем, перед созданием резервной копии.
DATE - сегодняшняя дата в формате Year-Month-Day
BACKUP_PATH - это каталог, который вы собираетесь делать резервными копиями.
do_backup - это функция, содержащая команду резервного копирования
, чтобы сохранить сценарий в файл в терминале:
chmod +x script_name
, чтобы сделать его исполняемым
./ script_name / path / to / file_to_check_rows_of
Если вы хотите больше узнать о том, как сценарий работает, запуская его с помощью:
sh -x имя_страницы