Задание крона для перемещения каталога со вчерашней датой к другому каталогу

  1. У меня есть система загрузки изображения на моем веб-сайте в home1 каталоге, который имеет папки в этой форме 2018/04/19/abc.jpg (year/mm/dd/finename). Я должен настроить задание крона для копирования/перемещения содержания папки папки с 3 дней назад, т.е. 16 при работе 19, 17 при работе 20, и так далее, к соответствующей папке в home2.

  2. После того как содержание каталога было перемещено, я должен поместить htaccess в перенаправление папки к новому каталогу, как это:

    RewriteEngine On
      RewriteCond %{HTTP_HOST} ^example.com$ [OR]
      RewriteCond %{HTTP_HOST} ^www.example.com$
      RewriteRule ^(.*)$ https://example.com/new_directory/uploads/YYYY/MM/DD/$1 [R=301,L]
    

    В основном год, месяц и дата должны быть динамично сгенерированы в htaccess файле, соответствуя каталогу, который был скопирован

Помогите с заданием крона.

0
задан 19 April 2018 в 12:19

1 ответ

Необходимо будет протестировать это и скорректировать пути. Не стесняйтесь редактировать этот ответ для удовлетворения потребностям после того, как Вы сделаете. Но, это - что-то вроде этого:

#!/bin/bash
THREEDAYSAGO=$(date +%Y/%m/%d --date='3 days ago')
SRC="~/home1/"
DEST="~/home2/"

mv -f $SRC/$THREEDAYSAGO $DEST/$THREEDAYSAGO
cat << EOF >/$DEST/$THREEDAYSAGO/.htaccess
RewriteEngine On
  RewriteCond %{HTTP_HOST} ^example.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.example.com$
  RewriteRule ^(.*)$ https://example.com/new_directory/uploads/${THREEDAYSAGO}/\$1 [R=301,L]
EOF

Затем в Вашем crontab (crontab -e):

# Every day at 12:00am
0 0 * * * /path/to/my/script
1
ответ дан 30 October 2019 в 01:53

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

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