cronjob для создания двух файлов размером 2 ГБ каждый

350
user286205

Мне нужно создать работу cron, которая запускается каждый час.

Это задание cron должно создавать два файла, каждый 2 ГБ, один должен быть создан из / dev / urandom, а другой - из / dev / zero и должен быть записан в определенную файловую систему / каталог.

Как бы я это сделал?

-2
Поскольку вы знаете, что вам нужны `dd` и Cron… Что вы уже пробовали? slhck 10 лет назад 1
не говоря уже о том, какой смысл воссоздавать файл нулей каждый час? Или в этом отношении, для несвежих псевдослучайных чисел - что-то лучшее, что подается горячим и свежим? *Что ты пытаешься сделать?* Journeyman Geek 10 лет назад 2
@JourneymanGeek цель этого состоит в том, чтобы проверить дисковый ввод-вывод user286205 10 лет назад 0

2 ответа на вопрос

1
Sepahrad Salour

You can create these files with dd command like below:

dd if=/dev/zero of=/tmp/ZeroFile count=10000 bs=200000

dd if=/dev/urandom of=/tmp/UrandomFile count=10000 bs=200000

and for scheduling this jobs with cron you have to put this command in your cronjob:

  1. crontab -e
  2. write it: 0 */2 * * * /path/to/your/command
спасибо Сепарад! что именно делает бит * / 2 в crontab? также это нормально, чтобы вставить всю команду dd непосредственно в crontab? например, 0 * / 2 * * * dd if = / dev / zero of = / new / ZeroFile count = 10000 bs = 200000 0 * / 2 * * * dd if = / dev / urandom of = / new / UrandomFile count = 10000 шс = 200000 user286205 10 лет назад 0
Ваше приветствие, * означает, что все время и * / 2 означает, что каждые 2 часа .. Поместите их в разделенную строку ... Это должно работать ... Если нет, вы должны установить переменную PATH для cron или написать абсолютный путь команды dd , Sepahrad Salour 10 лет назад 0
0
thewheat

Edit the user crontab

crontab -e 

Then add the following lines

0 * * * * dd if=/dev/random of=/tmp/myfile1.dat bs=$(( 1024 * 1024 * 1024 )) count=2 0 * * * * dd if=/dev/zero of=/tmp/myfile2.dat bs=$(( 1024 * 1024 * 1024 )) count=2 

Or edit /etc/crontab and substitute user_to_run_as with the user you want to run the command as

0 * * * * user_to_run_as dd if=/dev/random of=/tmp/myfile1.dat bs=$(( 1024 * 1024 * 1024 )) count=2 0 * * * * user_to_run_as dd if=/dev/zero of=/tmp/myfile2.dat bs=$(( 1024 * 1024 * 1024 )) count=2 

I tried it out and using /dev/random doesn't give you an exact file size. "Why does dd from /dev/random give different file sizes?" seems to give the explanation for this

Похожие вопросы