unpack zip archive linux (без unzip)

Решение на python чтобы распаковать zip архив, не имея установленной unzip (и не имея возможности или желания установить):

touch pyunzip
#!/usr/bin/env python3
import sys
from zipfile import PyZipFile
for zip_file in sys.argv[1:]:
	pzf = PyZipFile(zip_file)
	pzf.extractall()
chmod +x pyunzip
./pyunzip archive.zip

Еще возможен вариант на perl, (но без unzip он работать не стал):

#!/usr/bin/env perl
use Archive::Extract;
foreach my $filepath (@ARGV){
	my $archive = Archive::Extract->new( archive => $filepath );
	$archive->extract;
}
touch perlunzip
chmod +x perlunzip
./perlunzip archive.zip
You do not have 'Archive::Zip' installed - Please install it as soon as possible. at ./perlunzip line 5.
No '/bin/unzip' program found at ./perlunzip line 5.
Extract failed; no extractors available at ./perlunzip line 5.

cron резервное копирование файлов и базы данных сайта с выгрузкой на удаленный ftp

Скрипт:
в пароле для mysql спецсимволы нужно экранировать, например \)

#!/bin/bash
tar -czf /var/www/backup/site.ru.tar.gz /var/www/site.ru/
mysqldump --opt -udbuser -pdbpassword dbname | gzip -c -9 > /var/www/backup/site.ru.sql.gz
lftp -c 'open -e "mput -O ftpdir/ /var/www/backup/*.gz " -u ftpuser,ftppassword ftpserver exit'

Задание cron (будет выполняться в 2:30 каждый день):

crontab -e
30 2 * * * /usr/bin/perl /var/www/backup/site.ru.sh >> /var/www/backup/site.ru.log 2>&1

https://www.frameworks.su/article/rezervnoe_kopirovanie_sayta_s_pomoshchyu_cron

См. также: Резервное копирование файлов и базы данных сайта с выгрузкой на Google Drive

nginx .htaccess

Для конвертации правил можно воспользоваться сервисами:
https://winginx.com/ru/htaccess
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/