Как запустить сервер MongoDB при запуске системы?

Извлечение изображений из рекурсивного каталога

В приведенном ниже скрипте будут скопированы изображения с соотношением 4: 3 из рекурсивно исходного каталога в целевой каталог.

#!/usr/bin/env python3
import os
import shutil
from PIL import Image
import sys

dr = sys.argv[1]; target = sys.argv[2]

for root, dirs, files in os.walk(dr):
    for f in files:
        try:
            file = root+"/"+f
            img = Image.open(file); size = img.size; ratio = size[0]/size[1]
            if ratio == 4/3:
                shutil.copyfile(file, target+"/"+f)
        except (IOError, ValueError):
            pass

Как использовать

Скопировать сценарий в пустой файл, сохранить это как search_ratio.py Запустите его командой:
python3 /path/to/search_ratio.py /source/directory /target/directory

Если одна или несколько каталогов содержат пробелы, используйте кавычки. Пример команды, которую я использовал для тестирования:

python3 '/home/jacob/Bureaublad/pscript_4.py' '/home/jacob/Bureaublad' '/home/jacob/Afbeeldingen/test'

Если вы извлекаете изображения из «плоской» (единственной) директории

Тогда сценарий может быть немного проще: [ ! d10]

#!/usr/bin/env python3
import os
import shutil
from PIL import Image
import sys

dr = sys.argv[1]; target = sys.argv[2]

for f in os.listdir(dr):
    try:
        file = dr+"/"+f
        img = Image.open(file); size = img.size; ratio = size[0]/size[1]
        if ratio == 4/3:
            shutil.copyfile(file, target+"/"+f)
    except (IOError, ValueError):
        pass

Используйте его точно так же, как и первый.

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

58
задан 11 September 2011 в 07:14

64 ответа

Если вы устанавливаете MongoDB с помощью Advanced Packaging Tool (apt), тогда он будет настраивать сценарии запуска для автоматического запуска Mongo при загрузке системы.

Шаги следующие: сначала настройте apt to be возможно загрузить Mongo package:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 sudo nano /etc/apt/sources.list

Добавьте эту строку в apt , затем сохраните:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Затем загрузите и установите Mongo с помощью apt -get:

sudo apt-get update sudo apt-get upgrade sudo apt-get install mongodb-10gen

Если вы хотите внести какие-либо изменения в конфигурацию, отредактируйте файл mongodb.conf и перезапустите: & nbsp;

sudo nano /etc/mongodb.conf sudo service mongod restart
32
ответ дан 10 August 2018 в 09:16
  • 1
    Если вы хотите позже изменить его на , а не , автоматически запустите MongoDB при запуске, отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:08

Я использую crontab для Ubuntu. Он работает нормально. Чтобы редактировать файл

Sudo crontab –e

Добавьте эту строку в файл

@reboot sudo service mongod start &

«& amp;» вздох в конце поможет ему работать на фоне.

Ctrl + x для выхода, нажмите «Y» после запроса. И сохраните имя файла как «crontab».

2
ответ дан 10 August 2018 в 09:16
[D0] chkconfig --levels 235 mongod on?

где mongodb - это имя вашей службы

0
ответ дан 10 August 2018 в 09:16
  • 1
    Распределение 10gen MongoDB по умолчанию не использует сценарии инициализации System-V (хотя один из них предоставляется), вместо этого отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:16
  • 2
    @kynan Отредактируйте это как? Что я могу изменить / добавить в файл mongod.conf? – Kieveli 28 April 2016 в 16:48
  • 3
    @Kieveli: см. [D0] этот ответ – kynan 30 April 2016 в 01:46

Управление всеми сервисными ссылками init.d должно выполняться с помощью средства update-rc.d

i.e. чтобы включить демон mongod на уровне запуска по умолчанию (т. е. включить его при загрузке):

update-rc.d mongodb defaults

См. https://help.ubuntu.com/community/UbuntuBootupHowto для получения дополнительной информации. Эта ссылка сообщает вам все, что вы хотите знать о том, как устанавливать программы при загрузке.

9
ответ дан 10 August 2018 в 09:16
  • 1
    В дистрибутиве 10gen MongoDB не используются сценарии инициализации стиля System-V, вам нужно отредактировать /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:04
  • 2
    мне нужно это сделать? – tofutim 11 March 2018 в 05:53

Другие вопросы по тегам:

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