rpmを使用したcronジョブ設定は機能しません。

rpmを使用したcronジョブ設定は機能しません。

次のクローンファイルがあります

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

    LOG_DIR=/var/log/myapp-services-cron
    MYAPP_SERVICES_DIR=/opt/myorg/apps/myapp-services

    * * * * * myappcron node $MYAPP_SERVICES_DIR/scripts/processor.js &>> $LOG_DIR/processor.log 2>&1

これは以下によって作成されました。速度仕様文書

    Summary: Utility for testing RPM creation
    Name: utils
    Version: 1.0.0
    Release: 1
    License: GPL
    URL: http://www.both.org
    Group: System
    Packager: Rajkumar Natarajan
    Requires: bash
    Requires: nodejs >= 8.1.2
    BuildRoot: ~/rpmbuild/

    %description
    A collection of utility scripts for testing RPM creation.


    %prep
    ################################################################################
    # Create the build tree and copy the files from the development directories    #
    # into the build tree.                                                         #
    ################################################################################
    echo "BUILDROOT = $RPM_BUILD_ROOT"


    %pre

    %build

    %install
    sudo mkdir -p /etc/cron.d
    sudo mkdir -p /var/log/myapp-services-cron
    sudo mkdir -p /var/lock/myapp-services-cron
    sudo mkdir -p /opt/myorg/apps/myapp-services
    sudo cp -r /home/vagrant/cron-demo %{buildroot}/
    sudo cp -r  %{buildroot}/cron-demo/crontab /etc/cron.d/myapp-services-cron-scripts
    sudo cp -r %{buildroot}/cron-demo/scripts /opt/myorg/apps/myapp-services/


    %post

    %files
    /cron-demo/

    %postun

    %clean
    sudo rm -rf %{buildroot}/

    %changelog

cronファイルは毎分nodejsスクリプトを呼び出します。しかし、どういうわけかcronは実行されません。

オペレーティングシステムの詳細は次のとおりです。

$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.5.1804 (Core)
Release:    7.5.1804
Codename:   Core

ユーザーmyappcronを作成しました。 Nodejsとスクリプト/プロセッサも正しい場所にあります。

cronが実行されない理由をご存知ですか?

答え1

この部分が何を意味するのかを混乱させるでしょう%install

各部

  • %準備する
  • %立てる
  • %インストールする
  • %確認する

コンピュータで実行立てるこれはrpmrpmがインストールされているシステムにはありません。あなたはする必要があります絶対sudoを使用しないでください仕様ファイルに。たぶんあなたは次のようなものが欲しいかもしれません。 (私はcron.dファイルの部分だけを書いたので、必要な他のファイルを推論することができます。)

%install
mkdir -p %{buildroot}/etc/cron.d
cp -r /cron-demo/crontab %{buildroot}/etc/cron.d/myapp-services-cron-scripts

%files
/etc/cron.d/myapp-services-cron-scripts

関連情報