multi threaded find exec

suи друзья на помощь! Здесь можно использовать su, sudoи super. suявляется традиционным, sudo— самым простым, и superимеет преимущества, если вы хотите, чтобы пользователи могли выполнять часть этого.

Поскольку вы специально упомянули о проверке состояния выхода apt-get upgrade, вы должны использовать 1 7 * * 1 apt-get update && apt-get upgrade && sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off.

Теперь это становится немного длиннее, поэтому следование совету Трига и включение его в скрипт имеет преимущества, но его пример имеет два недостатка :он не проверяет возвращаемые значения, а за режимом обслуживания по команде сразу следует следующий command, и я предполагаю, что была причина задержки между входом в режим обслуживания и запуском apt -get, так что вам может понадобиться нечто подобное:

#!/bin/sh
set -e
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on || sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on
sleep 1m || true
apt-get update || apt-get update
apt-get upgrade -y || apt-get install
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off || sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Но у вас хорошее начало.

0
03.09.2019, 23:16
1 ответ

Вы можете установить количество воркеров, если используете xargs

find. -type f -print0|xargs -0 -P 16 -I % opusenc --bitrate 256 % %.opus

xargs -P 16

(так как я изо всех сил пытался найти больше деталей в Интернете или понять человека раздел страницы)

Он выполняет вашу команду на 16, или на число, которое вы передаете -P, числа входы за раз.


Для моей команды я пытался преобразовать организованные папки компакт-диска музыкальные файлы [исполнитель/альбом/музыкальный файл] в opus. Это была копия папку, поэтому я хотел удалить оригиналы. Так что лучшая команда, чем тот, который я использовал, был бы

find. -type f -print0|xargs -0 -P 16 -I % sh -c 'opusenc --bitrate 256 % %.opus && rm %'

После преобразования исходный файл удаляется.

5
28.01.2020, 02:39

Теги

Похожие вопросы