1
0
mirror of https://github.com/eworm-de/routeros-scripts.git synced 2024-05-11 05:55:19 +00:00

Merge branch 'mkdir' into next

This commit is contained in:
Christian Hesse
2023-03-29 12:13:59 +02:00

View File

@ -561,6 +561,26 @@
:global RequiredRouterOS;
:global WaitForFile;
:local MkTmpfs do={
:global LogPrintExit2;
:global WaitForFile;
:if ([ :len [ /disk/find where slot=tmpfs type=tmpfs ] ] = 1) do={
:return true;
}
$LogPrintExit2 info $0 ("Creating disk of type tmpfs.") false;
/file/remove [ find where name="tmpfs" type="directory" ];
:do {
/disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource/get total-memory ] / 3);
$WaitForFile "tmpfs";
} on-error={
$LogPrintExit2 warning $0 ("Creating disk of type tmpfs failed!") false;
:return false;
}
:return true;
}
:set Path [ $CleanFilePath $Path ];
:if ($Path = "") do={
@ -571,6 +591,23 @@
:return true;
}
:if ([ $RequiredRouterOS $0 "7.9beta4" false ] = true) do={
:if ([ :pick $Path 0 5 ] = "tmpfs") do={
:if ([ $MkTmpfs ] = false) do={
:return false;
}
}
:do {
:local File ($Path . "/file");
/file/add name=$File;
$WaitForFile $File;
/file/remove $File;
} on-error={
$LogPrintExit2 warning $0 ("Making directory '" . $Path . "' failed!") false;
:return false;
}
} else={
:local Error false;
:local PathNext "";
:foreach Dir in=[ :toarray [ $CharacterReplace $Path "/" "," ] ] do={
@ -582,16 +619,8 @@
}
:if ($Continue = false && $PathNext = "tmpfs") do={
:if ([ :len [ /disk/find where slot=tmpfs type=tmpfs ] ] = 0) do={
$LogPrintExit2 info $0 ("Creating disk of type tmpfs.") false;
/file/remove [ find where name="tmpfs" type="directory" ];
:do {
/disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource/get total-memory ] / 3);
$WaitForFile "tmpfs";
} on-error={
$LogPrintExit2 warning $0 ("Creating disk of type tmpfs failed!") false;
:set Error true;
}
:if ([ $MkTmpfs ] = false) do={
:return false;
}
:set Continue true;
}
@ -616,6 +645,7 @@
}
}
}
}
:return true;
}