Архивирайте директория в 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 .
Сега трябва да добавим командите към файла. Щракнете с десния бутон върху името на файла и изберете Отваряне с gedit(Open with 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
Описание ред по ред
Следващата таблица описва какво представлява всеки ред във файла на скрипта на обвивката.
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.
|
Редактиране на разрешенията(Permissions) за скриптовия файл на Shell(Shell Script File)
Преди да стартирате скрипта си, трябва да се уверите, че файлът има правилните разрешения. За да направите това, отворете отново началната си папка(Home Folder) , както е споменато по-горе, и щракнете с десния бутон върху файла скрипт на shell. Изберете Свойства(Properties) от изскачащото меню.
Показва се диалоговият прозорец Свойства . (Properties)Уверете(Make) се , че квадратчето за отметка Изпълнение е избрано.(Execute)
Щракнете върху Close .
Изпълнение на скрипта на Shell
За да стартирате скрипта на обвивката, отворете прозорец на терминала, като изберете Accessories | Terminal от менюто Приложения .(Applications)
Когато прозорецът на терминала(Terminal) се отвори, трябва да сте в началната си папка(Home Folder) по подразбиране. Въвеждането на pwd в командния ред и натискането на enter потвърждава този факт. При подкана въведете ./user_guide_backups.sh и натиснете Enter .
Трябва да имате .tgz файл в папката Backups във вашата домашна папка(Home Folder) . Ако щракнете с десния бутон върху името на файла, ще видите няколко опции за отваряне на архива в една от наличните програми за архивиране или за извличане на файловете директно в папката Backups с помощта на командата Extract Here .
Повече информация
Връзките по-долу предоставят повече информация за шел скриптовете, командите 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.
Related posts
Как да навигирате и използвате структурата на директорията на Linux
Linux FIND команда с примери
5 страхотни причини да изхвърлите Windows за Linux
HDG обяснява: Какво е UNIX?
9 най-добри Linux дистрибуции за хакване
Как да инсталирате Linux дистрибуция на вашия Chromebook
Как да преинсталирате Linux Mint, без да губите вашите данни и настройки
Разбиране на разрешенията на Linux и използването на chmod
Използвайте командата "dd" на Linux с прост GUI
Разрешения за файлове на Linux – какво е Chmod 777 и как да го използвам
Конфигурирайте Ubuntu да не затъмнява или да изключи неактивен дисплей
Как да компилирате софтуерни пакети на Linux
BSD срещу Linux: Основните разлики
Как да изтриете файл или директория в Linux
5 начина за автоматизиране на архивиране на файлове в Linux
5-те най-добри Linux дистрибуции, които трябва да използвате
Как да инсталирате почти всеки принтер в Ubuntu
Как да настроите и конфигурирате TCP/IP файлове в Linux (Настройки за TCP/IP за Linux)
Често срещани причини за сривове на Ubuntu и как да се възстанови
Направете персонализирана Live Linux дистрибуция с Linux Live Kit