Работа с архивами в bash'е

25.05.2012
@LEXXX_NF

Слить несколько файлов в один без сжатия:

tar -cf tarfile.tar /var/log/syslog /var/log/messages

Заархивировать папку (gzip):

tar -czf file.tar.gz /home/www/

Заархивировать папку (bzip2):

tar -cjf file.tar.bz2 /home/www/

Распаковать архив:

tar -xf file.tar
tar -xzf file.tar.gz
tar -xjf file.tar.bz2

Скопировать папку с локального сервера на удалённый со сжатием данных на лету

tar -czf - /home/www/ | ssh USER@REMOTEHOST tar -xzf -

Заархивировать папку на удалённом сервере и сохранить архив на локальном:

ssh USER@REMOTEHOST "tar -czf - /home/www/" > www.tar.gz

Сделать дамп базы и на лету заархивровать его:

mysqldump -uL_USER -pL_PASSWORD L_DATABASE | gzip > database.sql.gz

Скопировать базу данных с удалённого сервера на локальный:

ssh USER@REMOTEHOST "mysqldump -uR_USER -pR_PASSWORD R_DATABASE | gzip -9" | gunzip | mysql -uL_USER -pL_PASSWORD L_DATABASE

Здесь

REMOTEHOST адрес удалённого сервера
USER SSH-пользователь на удалённом сервере
L_USER пользователь локальной СУБД
L_PASSWORD пароль пользователя локальной СУБД
L_DATABASE название базы данных в локальной СУБД
R_USER пользователь удалённой СУБД
R_PASSWORD пароль пользователя удалённой СУБД
R_DATABASE название базы данных в удалённой СУБД

Примеры взяты из собственного опыта и из этой статьи: http://www.karkomaonline.com/index.php/2005/03/basic-tar-usage-gnu-tar/

Еще полезные линуксовые команды

Сменить юзера, например, на root’a:

su - root

Подсчитать размер текущей папки со всеми подпапками

du -sh
du --si --max-depth=1  #отдельно для каждой папки внутри текущей

Подсчитать свободное место на дисках:

df -h

Подсчитать количество свободных Inode’ов.
Бывает место еще есть, а новые файлы создать уже нельзя.

df -i
#1
Доброхот
15.03.2017 20:49
Коментов нет, а польза есть и будет =)
#2
Рыжий
04.05.2017 01:53
Маленький никому неизвестный блог. Но сколько человек открывало эту шпаргалку за 5 лет. Автор сделал свой небольшой вклад в библиотеку полезной информации интернета.

Писáть здесь

А еще у меня есть: