1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

cronで定期実行時に日付文字列を渡したい

Last updated at Posted at 2023-09-15

cronを利用してpythonアプリを定期実行したい
定期実行する際に今日の日付をパラメータとして指定したい

と思い、調べてみました。

自分の備忘録として記しておきます。
各コマンドはcrontabへ設定する前にechoコマンドで実行を確認しています。

echo `date +\%Y-\%m-\%d`

実行環境

OS: Raspbian GNU/Linux 11 (bullseye)

日付の取得

date
# 2023年 9月 15日 金曜日 09:12:34

このままだと使えないのでフォーマットする必要がある

日付文字列をフォーマットする

date +\%Y-\%m-\%d
#2023-09-15

# cronでは%をエスケープする必要があるためバックスラッシュをつける

時刻などもほしい場合

date +\%Y-\%m-\%d--\%H:\%M:\%S
# 2023-09-15--09:12:34

# 日(%d)と時間(%H)の間にスペースいれるとエラーになるのでなにかしらの記号がいるっぽい

前日を指定したいとき

date --date '1 day ago' +\%Y-\%m-\%d
# 2023-09-14

#2日前の場合
date --date '2 day ago' +\%Y-\%m-\%d
# 2023-09-13

次の日を指定したいとき

date --date tommorow +\%y-\%m-\%d
# 2023-09-16

# または
date --date '1 day' +\%y-\%m-\%d
# 2023-09-16

# 「'2 day'」または「'1 day tomorrow'」とすると2日後となります

月単位での指定をしたいとき

# 前月
date --date '1 month ago' +\%Y-\%m-\%d
# 2023-08-15

# 翌月
date --date '1 month' +\%Y-\%m-\%d
# 2023-10-15

年単位での指定をしたいとき

# 昨年
date --date '1 year ago' +\%Y-\%m-\%d
# 2022-09-15

# 来年
date --date '1 year' +\%Y-\%m-\%d
# 2024-09-15

さいごに

上記は自分用に調査して記していますが、他にも同じように困っている方の助けに少しでもなればと思ってます。
もし記載方法に誤りなどがあった場合はコメントいただければと思いますので、よろしくお願いいたします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?