сценарий удара работает от оболочки, но не от задания крона

Контекст this внутри вашего метода options.query на самом деле не ссылается на экземпляр Vue, но на контекст самого метода, чтобы обойти это, вы можете назначить локальную переменную текущему экземпляру.

new Vue({
  el: '#app',

  created() {
    this.sentData = 'Some initial value';
  },

  data() {
    const vm = this;

    return {
      sentData: '',

      options: {
        query(uploaderFile, uploaderChunk) {
          return {
            sentData: vm.sentData
          }
        }
      }
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app">
  <span v-text="options.query().sentData"></span>
</div>

8
задан Tanj 24 September 2009 в 02:54
поделиться

4 ответа

Если не будет никаких файлов в каталоге, то подстановочный знак не будет расширен и будет передан команде непосредственно. Нет никакого файла, названного "*", и затем сбои команды с "Файлом или каталогом, не найденным". Попробуйте это вместо этого:

if [ -f /home/user/Maildir/.SPAM/cur/* ]; then
    rm /home/user/Maildir/.SPAM/cur/*
fi

Или просто используйте флаг "-f" для комнаты. Другая проблема с этой командой - то, что происходит, когда существует слишком много спама для максимальной длины командной строки. Что-то вроде этого, вероятно, лучше в целом:

find /home/user/Maildir/.SPAM/cur -type f -exec rm '{}' +

Если у Вас есть старая находка что только исполнительная комната один файл за один раз:

find /home/user/Maildir/.SPAM/cur -type f | xargs rm

Это обрабатывает слишком много файлов, а также никакие файлы. Благодаря Charles Duffy для указания + опция к - должностное лицо в находке.

14
ответ дан 5 December 2019 в 12:14
поделиться

Попытайтесь использовать опцию силы и забудьте о добавлении пути к команде комнаты. Я думаю, что это не должно быть необходимо...

rm -f

Это гарантирует, что, даже при отсутствии файлов в каталоге, команда комнаты не перестанет работать. Если это - часть сценария оболочки, * должен работать. Это смотрит на меня, что у Вас мог бы быть пустой dir...

Я понимаю, что остальная часть сценария выполняется, правильно?

0
ответ дан 5 December 2019 в 12:14
поделиться

Вы указываете полный путь к сценарию в cronjob?

00 3 * * * /home/me/myscript.sh

вместо

00 3 * * * myscript.sh

На другой ноте это-/bin/rm на всех полях Linux, к которым у меня есть доступ. Вы перепроверили это, это действительно-/usr/bin/rm на Вашей машине?

0
ответ дан 5 December 2019 в 12:14
поделиться

попытайтесь добавить

MAILTO=your@email.address

к вершине Вашего файла крона и необходимо получить любой вход/ошибки, отправленный по почте Вам.

Также рассмотрите добавление команды как cronjob

0 30 * * * /usr/bin/rm /home/user/Maildir/.SPAM/cur/*
0
ответ дан 5 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

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