Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Создать файл с датой и нужными правами  (Прочитано 1298 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mr.Neo

  • Автор темы
  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Здравствуйте. Пытаюсь в cron добавить задание которое будет создавать в нужной директории файл с нужными правами (777). Как создать файл и потом ему поменять права я знаю, но у меня файл будет создаваться с датой:

touch cfg_bak_1.100_20$(date +%y%m%d).tar.gz
соответственно каждый день файл будет иметь разное название (дату), по этой причине я не могу написать команду в cron:

chmod 777 file
Подскажите как это реализовать?
Спасибо.
Lenovo S10-2 ubuntu-10.04 Gnome, Lenovo S110 ubuntu 12.04 Unity
Я новичок.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Создать файл с датой и нужными правами
« Ответ #1 : 06 Апреля 2018, 11:05:46 »
mr.Neo,
А что мешает делать:
Код: (bash) [Выделить]
touch cfg_bak_1.100_20$(date +%y%m%d).tar.gz && chmod 777 cfg_bak_1.100_20$(date +%y%m%d).tar.gz
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн mr.Neo

  • Автор темы
  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: Создать файл с датой и нужными правами
« Ответ #2 : 06 Апреля 2018, 11:58:34 »
mr.Neo,
А что мешает делать:
Код: (bash) [Выделить]
touch cfg_bak_1.100_20$(date +%y%m%d).tar.gz && chmod 777 cfg_bak_1.100_20$(date +%y%m%d).tar.gz

Мешает отсутствия знаний, и наверное плохо искал в гугле. То что можно:

&& chmod 777
Я нашел, но не знал как поменять права файлу или файлам по маске, например - cfg_bak_1.100_20

Но код не сработал с ошибкой:

-bash: ошибка синтаксиса около неожиданной лексемы `('
Lenovo S10-2 ubuntu-10.04 Gnome, Lenovo S110 ubuntu 12.04 Unity
Я новичок.

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Re: Создать файл с датой и нужными правами
« Ответ #3 : 06 Апреля 2018, 12:04:26 »
Подскажите как это реализовать?

1. Создаёшь скрипт, который выполняет все нужные тебе действия и кладёшь например в ~/bin.
2. Проверяешь его работу, запустив его вручную, убеждаешься в корректной работе.
3. Создаёшь событие в crontab для запуска твоего скрипта.

Для создания события используешь команду:

crontab -e
Либо можешь скачать графический конфигуратор.

Оффлайн mr.Neo

  • Автор темы
  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: Создать файл с датой и нужными правами
« Ответ #4 : 06 Апреля 2018, 12:37:36 »
1. Создаёшь скрипт, который выполняет все нужные тебе действия и кладёшь например в ~/bin.

Для создания скрипта нужны знания в программировании, а это я так понимаю у меня затянется еще на неопределенный срок. Графический редактор не подойдет, так как нет графической оболочки. Так же как я понимаю в скрипте то же надо будет как то реализовать смену прав файлу у которого каждый день меняется название. Думалось, что можно как то по маске (название начало файла одно и тоже, разная только дата) менять права. Правда эта команда будет менять права и тем файлам у которых уже сменены права (то есть не менять права, а перезаписывать и так уже установленные 777), получается какой то костыль. Может есть какая команда find которая ищет в нужной директории файлы с датой и по маске, несколько первых символов.

Пользователь добавил сообщение 06 Апреля 2018, 12:40:51:
EvangelionDeath,

Извиняюсь, команду набирал вручную и сделал ошибку. Скопировал у Вас с поста и сработало. Спасибо.
« Последнее редактирование: 06 Апреля 2018, 12:40:51 от mr.Neo »
Lenovo S10-2 ubuntu-10.04 Gnome, Lenovo S110 ubuntu 12.04 Unity
Я новичок.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Создать файл с датой и нужными правами
« Ответ #5 : 06 Апреля 2018, 12:54:17 »
Для создания скрипта нужны знания в программировании
не надо. Надо просто читать man по нужным командам.
Для find
Код: (bash) [Выделить]
find </path/to/dir> -type f -name "<some mask>" -exec chmod 777 {}\; # найдет файлы с именем <some mask> или маской (тогда символы заменяются на ? (заменяет любой один символ) или * (любое количество любых символов)
find </path/to/dir> -type d -name "<some mask>" -exec chmod 777 {}\; # найдет директории с именем <some mask> или маской (тогда символы заменяются на ? (заменяет любой один символ) или * (любое количество любых символов)
find </path/to/dir> -name "<some mask>" -exec chmod 777 {}\; # найдет директории и файлы с именем <some mask> или маской (тогда символы заменяются на ? (заменяет любой один символ) или * (любое количество любых символов)
А если почитать подробнее, то можно ограничить поиск и по дате создания и по вложености директории и т.д.
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн mr.Neo

  • Автор темы
  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: Создать файл с датой и нужными правами
« Ответ #6 : 06 Апреля 2018, 12:58:38 »
Еще раз спасибо.
Lenovo S10-2 ubuntu-10.04 Gnome, Lenovo S110 ubuntu 12.04 Unity
Я новичок.

 

Страница сгенерирована за 0.057 секунд. Запросов: 23.