Каков рекомендуемый способ автоматизировать задачу в Linux?

Я все еще довольно плохо знаком с Linux, но здесь - то, что я пытаюсь сделать.

Я должен скопировать все подкаталоги и файлы от одного каталога до другого когда-либо приблизительно 5 минут со старыми данными, автоматически перезаписываемыми с новыми данными.

Я также хотел бы, чтобы это работало при запуске. Есть ли какой-либо способ, которым это может быть сделано? Если так, какая программа была бы, я должен запланировать автоматизацию и что является командной строкой, в которой я нуждался бы.

3
задан 03.02.2012, 01:03

2 ответа

Я сделал бы фактическую копию с

rsync --archive --delete "fromdir/" "todir/"

Это будет более эффективным, чем использование cp, с тех пор rsync только файлы копий, которые изменились и даже затем только копируют по самому изменению, а не всему файлу.

Если Вы предпочитаете, чтобы это не удалило файлы в todir это было удалено в fromdir, Вы просто не учитываете --delete опция.

--archive опция в основном говорит этому сохранять состояние файлов, а также их содержания. Обратите внимание на это, если у Вас есть какие-либо символьные ссылки в dir1, это скопирует сами ссылки а не файлы, с которыми они связываются. Используя этот флаг с rsync подобно использованию cp -a.

Удостоверьтесь, что Вы используете заключительную наклонную черту на fromdir/: это говорит rsync скопировать содержание того каталога, а не самого каталога. Другими словами, если Вы не учитываете финал /, Вы закончите с

todir/
todir/stuff
todir/fromdir/
todir/fromdir/morestuff

вместо

todir/
todir/morestuff
5
ответ дан 07.12.2019, 23:18

Необходимо поместить сценарий в крон, как сделать это, читайте здесь: http://www.foogazi.com/2006/12/07/understand-cron-jobs-in-5-minutes/

Вместо сценария Вы могли ввести команду для выполнения в crontab, это будет похоже:

*/5 * * * * cp -r /fromdir /todir

также добавьте к/etc/crontab следующую строку к exexute это при начальной загрузке:

@reboot root cp -r /fromdir /todir
3
ответ дан 07.12.2019, 23:18

Теги

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