Прежде всего, я парень Windows, но теперь мне поручено работать с Linux. Я использую incrontab
для просмотра каталога на сервере Oracle Linux.Incrontab не обрабатывает оператор IF
Я пытаюсь изменить его так, что если он увидит файл F078311
, он будет эхо-тест в файл журнала. В противном случае он проверяет, соответствует ли файл второму формату и выполняет это эхо.
Он запускает второй IF и эхосигнал даты в журнал, но не повторяет тест в журнал. Что-то не так с моим синтаксисом?
Это просмотр /export
. и $1
будет /export/F073811
incrontab -l
/export IN_MODIFY,IN_CLOSE_WRITE,IN_MOVED_TO /usr/local/scripts/EXPrename.sh [email protected]/$#
Shell скрипт:
#!/bin/bash
# This file is invoked using incron and will rename the file with the current date.
# Set newdate as current date, YYYYMMDD-HHMMSS
newdate="$(date +%Y%m%d-%H%M%S)"
#Sets the filename as the filename_YYYYMMDD-HHMMSS
filename="A$newdate.txt"
joblog="/logs/joblog.log"
[[ ($1 =~ F073811$) ]] && echo Test >> /logs/joblog.log
#checks to file format to see if it looks like name_YYYYMMDD-HHMMSS. If it does not then it renames the file to that format.
[[ ! ($1 =~ A[0-9]{8}-[0-9]{6}\.txt$) ]] && echo ---- `date` ------ >> "$joblog"
можете ли вы напечатать '$ 1'? –
'/ export/F073811' – Travis