私はこの簡単なスクリプトを実行しており、ファイルをマイサムドライブ(新しい名前で)にコピーするためのcronジョブを作成しようとしています。
sudo cp /home/pi/NewLog.log /media/usb
sleep 20
cd /media/usb
sudo mv -f NewLog.log NewLog-$(date '+%FT%T').log
sudo cp /dev/null /home/pi/NewLog.log
しかし、エラーが発生しました。
mv:「NewLog.log」を独自のサブディレクトリ「NewLog-2016-05-04T14:19:24.log」に移動できません。
/media/usb の ls -l がこれを示します。
-rwxr-xr-x 1 root root 42747 Nov 30 16:18 backup xml.txt
-rwxr-xr-x 1 root root 407517 Apr 28 11:07 Comparision log.log
-rwxr-xr-x 1 root root 4174 Apr 29 18:16 Friday.txt
drwxr-xr-x 2 root root 16384 May 4 14:12 Logs
-rwxr-xr-x 1 root root 594588 May 3 09:28 MachineHMAX___.log
-rwxr-xr-x 1 root root 737280 May 4 17:23 NewLog.log
-rwxr-xr-x 1 root root 415960 May 3 10:21 NewLog__.txt
-rwxr-xr-x 1 root root 267989 Apr 28 09:28 NewLog.txt
drwxr-xr-x 2 root root 16384 May 17 2015 System Volume Information
-rwxr-xr-x 1 root root 276588 Apr 29 11:05 Thur_a.txt
-rwxr-xr-x 1 root root 183600 Apr 29 11:05 Thur_b.txt
-rwxr-xr-x 1 root root 276370 Apr 28 11:22 Thurs.txt
-rwxr-xr-x 1 root root 460185 Apr 28 13:42 Thur.txt
-rwxr-xr-x 1 root root 676739 May 3 13:44 Tuesday.Log
-rwxr-xr-x 1 root root 8032 Apr 23 17:36 unix2dos.zip
-rwxr-xr-x 1 root root 7364727 May 4 08:45 Wednesday.txt
答え1
コロン(:
)文字は、FAT / VFATファイルシステムのファイル名に有効な文字ではありません。システムrename
コール(つまりmv
バックコール)は、それを示すためにEINVALステータスコードを返します。ディレクトリをサブディレクトリに移動しようとすると、同じステータスコードが返され、mv
エラーの考えられる原因の1つだけが一覧表示されます。
さまざまな時間形式を使用してください。 ISO 8601形式は公式標準である可能性がありますが、句読点形式を処理するのは困難です。句読点のない形式を使用するか、まったく異なる表現を使用してください。とにかく、タイムゾーンの表示を省略しているため、現在ISO 8601に準拠していません。このフォームはISOに準拠し、UTC時間を使用し、句読点を含みません。
date -u '+%Y%m%dT%H%M%SZ'