Архивирайте директория в Linux с помощта на Shell Script

Има няколко опции за архивиране на вашите данни в Linux . Можете да използвате някои свободно достъпни софтуерни програми, като fwbackups и Sbackup . Въпреки това, има прост метод за архивиране на директория, без да инсталирате допълнителен софтуер.

Ще създадем шел скрипт, използвайки променливи, командата tar и командата date , за да създадем архивен файл с дата на директория с нейните поддиректории.

Shell скриптът е по същество файл, съдържащ списък от команди, които се изпълняват последователно. Ако имате поредица от команди, които редовно изпълнявате в ред, е полезно да създадете скрипт на обвивката, съдържащ тези команди. След това трябва само да стартирате скриптовия файл, за да изпълните командите.

Създаване на Shell Script файла

За този пример ще създадем шел скрипт за архивиране на директория, съдържаща файлове за ръководство за потребителя. Ние използваме средата Gnome в Ubuntu .

Първо, отворете началната си директория, като изберете Начална папка(Home Folder) от менюто Места . (Places)Файловият браузър(File Browser) се отваря към вашата домашна директория.

Отваряне на началната папка

Ще създадем нов празен файл, в който ще въведем командите за извършване на архивирането. Щракнете с десния бутон(Right-click) в десния панел и изберете Create Document | Empty File от изскачащото меню.

Създаване на празен шел скрипт файл

Файл е добавен към списъка и е готов за преименуване. Въведете(Type) име за файла, като му дадете разширение .sh .

Нов файл е готов за преименуване

За този пример нарекохме нашия файл user_guide_backups.sh .

Файлът на скрипта на Shell е преименуван

Сега трябва да добавим командите към файла. Щракнете с десния бутон върху името на файла и изберете Отваряне с gedit(Open with gedit) от изскачащото меню.

Отваряне на шел скриптов файл с gedit

Файлът се отваря в gedit . Въведете следните редове във файла и щракнете върху Запиши(Save) . Целта на всеки ред е посочена по-долу.

ЗАБЕЛЕЖКА:(NOTE:) Можете също да копирате следния текст и да го поставите в gedit . Не забравяйте да промените <username> на вашето потребителско име.

#!/bin/bash
 SRCDIR="/home/<username>/Documents/my_work/"
 DESTDIR="/home/<username>/Backups/"
 FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz
 tar – create – gzip – file=$DESTDIR$FILENAME $SRCDIR

Редактиране на шел скриптов файл в gedit

Описание ред по ред

Следващата таблица описва какво представлява всеки ред във файла на скрипта на обвивката.

Line # Description
1 This line must be the first line in a bash shell script, which is the default type of script.
2 This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up.
NOTE: Be sure to replace <username> with your username.
3 This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written.
NOTE: Be sure to replace <username> with your username.
4 This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz.
NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses.
5 This line is the tar command with the following function and options added.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

Редактиране на разрешенията(Permissions) за скриптовия файл на Shell(Shell Script File)

Преди да стартирате скрипта си, трябва да се уверите, че файлът има правилните разрешения. За да направите това, отворете отново началната си папка(Home Folder) , както е споменато по-горе, и щракнете с десния бутон върху файла скрипт на shell. Изберете Свойства(Properties) от изскачащото меню.

Получаване на свойствата на скриптния файл на shell

Показва се диалоговият прозорец Свойства . (Properties)Уверете(Make) се , че квадратчето за отметка Изпълнение е избрано.(Execute)

Разрешения за файл на Shell скрипт

Щракнете върху Close .

Изпълнение на скрипта на Shell

За да стартирате скрипта на обвивката, отворете прозорец на терминала, като изберете Accessories | Terminal от менюто Приложения .(Applications)

Отваряне на прозорец на терминала

Когато прозорецът на терминала(Terminal) се отвори, трябва да сте в началната си папка(Home Folder) по подразбиране. Въвеждането на pwd в командния ред и натискането на enter потвърждава този факт. При подкана въведете ./user_guide_backups.sh и натиснете Enter .

Изпълнение на шел скрипта

Трябва да имате .tgz файл в папката Backups във вашата домашна папка(Home Folder) . Ако щракнете с десния бутон върху името на файла, ще видите няколко опции за отваряне на архива в една от наличните програми за архивиране или за извличане на файловете директно в папката Backups с помощта на командата Extract Here .

Опции на изскачащо меню за .tgz файл

Повече информация

Връзките по-долу предоставят повече информация за шел скриптовете, командите tar и date и други команди на Linux .

Скриптиране

Кратко ръководство за писане на скриптове с помощта на обвивката на bash(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Референтно ръководство за Bash(Bash Reference Manual)

Linux команди

tar MAN страница(tar MAN Page)

дата MAN Страница(date MAN Page)

bash команди – Linux MAN Pages(bash commands – Linux MAN Pages)

Изследването на тези страници ще ви помогне да създадете свои собствени полезни скриптове на bash shell.



About the author

„Аз съм експерт по Windows и Office на свободна практика. Имам над 10 години опит в работата с тези инструменти и мога да ви помогна да извлечете максимума от тях. Моите умения включват: работа с Microsoft Word, Excel, PowerPoint и Outlook; създаване на уеб страници и приложения; и помагане на клиентите да постигнат своите бизнес цели."



Related posts