У меня есть этот сценарий, который запускается автоматически 2-го числа каждого месяца. Этот сценарий загрузит все файлы с сервера ftp
по дате (2-е число каждого месяца).
В настоящее время у меня есть один сценарий, который загружает файл с ftp
сервера, и я хочу создать другой сценарий, который изменит дату внутри первого сценария.
Я хочу, чтобы оба сценария запускались автоматически.
Пример:
download_script
#! / Bin / bash
test_text _ * _ 20170102 _ *. csv *
change_date_script (для изменения даты 20170102
)
Вы все знаете?
Спасибо.
Чтобы изменить дату в первом сценарии, вам не нужен другой сценарий, просто сделайте дату динамической, вызвав команду date
с определенными параметрами.
В вашем случае вы можете использовать:
date +"%Y%m%d"
Это вернет вам дату в этом формате 20170110
, чтобы вы могли назначить ее переменной и делать все, что захотите, например:
today=$(date +"%Y%m%d")
touch test"$today".csv
это создаст файл с именем test20170110.csv
Поместите файл в /etc/cron.d/get2ndmonth
с таким содержанием:
59 23 02 * * joe echo "mget test_text_$(date +\%Y\%m\%d)_*.csv" | ftp example.org
It будет запускаться каждые 2
месяца в 23:59
для пользователя joe
.
(Пожалуйста, отредактируйте исходный вопрос, если он неясен)