0
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 3 years have passed since last update.

[WSL]クリーンインストール直後でもgithubに草を生やしたい

0
Posted at

結論

WSLをクリーンインストールする場合はWSLの機能に依存しない方法を検討すべき

言われてみれば当たり前なんですが、何とか環境構築しようと頭を凝り固めてしまったので、戒めとして記します。

発端

  • 私はWSLを愛用している
  • 頻繁にWSLをリセットする運用をしており、githubに草をはやしていたスクリプトが飛んだ
  • 気づいた頃に作り直すも、githubが荒野になっていた

ループ。

つまり「WSLにCron入れて実行すればよくね?」では、WSLをリセットする度に環境構築しなければならないし、そのためShellを使うことはできない1という問題があります。

手順

Windowsだと

  1. batを作る
  2. タスクスケジューラを設定する(プログラム: batのパス)

Macだと

  1. shを作る
  2. cronを設定する

どちらも共通して

git clone
echo %date / echo $(date "+%Y/%m/%d")
git add~push
del リポジトリ / rm -rf リポジトリ

やってる事は同じですが、書き方がbat,shの作法で異なります。

ハマったポイント

「WSLでcron動かせばよくね?」と考えたあたりから怪しくなりました。
気付けば上の通りシンプルですが、WSLで定期実行したいものがあったので、どうしてもcronから抜け出せなかったです。

たとえば「WSLで動かしたいshellがあり、WSLの状況を気にせずクリーンインストールした後でも動かせるようにしたい」という要件であれば

  1. shを作る
  2. タスクスケジューラを設定する(後述)

上記と比較すると、作ったファイルがbatかshかの違いですが、タスクスケジューラの設定を

  • プログラム: wsl
  • 引数の追加: /mnt/.../フルパス

としましょう。

なお、powershellでもできますが、実行権限の制御をする必要があり面倒くさいので慣れていないならbatで完結させる事をおすすめします。

読了後いいね!をお願いします。

どれだけの方に読んでもらっているか知りたいので、お手数をおかけしますがご協力いただけると嬉しいです。

注釈

  1. 普段はMacを使うのですが、凝った開発をする時はWindowsを使っているため、このような状態になっています。
    そのために、windowsで実行する場合はbat、MacやLinuxで実行する場合はshを使う事になります。

0
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
0
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?