Рекурсивная загрузка на WebDav сервер с помощью cadaver

Для рекурсивной загрузки файлов на сервер Webdav (например Yandex.Disk) с помощью cadaver нашел скрипт davcpy.sh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh

usage () { echo "$0 <src> <cadaver-args>*" >/dev/stderr; }
error () { echo "$1" >/dev/stderr; usage; exit 1; }

test $# '<' 3 || \
    error "Source and cadaver arguments expected!";

src="$1"; shift;
test -r "$src" || \
    error "Source argument should be a readable file or directory!";

cd "$(dirname "$src")";
src="$(basename "$src")";
root="$(pwd)";
rc="$(mktemp)";
{
    find "$src" '(' -type d -a -readable ')' \
    -printf 'mkcol "%p"\n';
    find "$src" '(' -type f -a -readable ')' \
    -printf 'cd "%h"\nlcd "%h"\n'            \
    -printf 'mput "%f"\n'                    \
    -printf 'cd -\nlcd "'"$root"'"\n';
    echo "quit";
} > "$rc";

cadaver -r "$rc" "$@";
rm -f "$rc";

Примет использования:

1
# ./davcpy.sh /home/metahome/Pictures https://webdav.yandex.ru

Если на компьютере/сервере доступна fuse, можно воспользоваться davfs2

Как из DJVU файла сделать книгу

Linux очень хорош автоматизацией рутиной работы. 10 минут на написание небольшого скрипта экономят целые часы и даже дни. Попалась мне полезная книга, отсканированая и сохраненная в DJVU формате. Страницы были отсканированы разворотами. Для монитора этот формат и расположение удобны, а вот для печати не пригодно. Пришлось думать как их сделать в книгу. Для верстки книг в Linux есть отличный инструмент — Scribus. Но сперва нужно вытащить все страницы из djvu в отдельные картинки и разрезать пополам.
Читать далее »

Отсутствие звука в Gentoo после обновления

Есть две карты, обе встроенные. Одна в процессоре вместе с видео (HDA ATI HDMI), вторая в метеринке (HD-Audio Generic Realtek ALC887-VD). По умолчанию выбиралась первая и через нее звук не идет. Я так подозреваю там звук идет только на вывод HDMI и в остальных выводах никак не работает.
Решилась проблема не сразу, пришлось полазить по форумам.
Однако, решение-то банальное:

в файле /usr/share/alsa/alsa.conf заменить строки:

1
2
defaults.ctl.card 0
defaults.pcm.card 0

на

1
2
defaults.ctl.card 1
defaults.pcm.card 1

Запрет выполнения PHP скриптов в каталоге uploads блога на WordPress

Для Apache можно решить добавлением строки в файл wp-content/uploads/.htaccess

1
php_value engine off

Для Nginx (в файл конфигурации виртуального сервера)

1
2
3
4
location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ {
types { }
default_type text/plain;
}

Установка Linux Mint Cinnamon 15

Решил посмотреть еше один популярный дистрибутив Linux Mint Cinnamon 15. Создан на базе Ubuntu и в мире заслужил значительную популярность. Я мало использовал deb-based дистрибутивы, но о предыдущей версии linux mint уже писал.

mint-livecd
Читать далее »