Я хотел бы создать задание cron, которое загружает файлы из каталога на моем компьютере на мой FTP-сервер. Я хотел бы сделать это ежедневно в полночь. Я почти ничего не знаю о cron, поэтому извиняюсь, если выгляжу глупо!
2 ответа
Это пример сценария FTP для передачи одного файла: (Обратите внимание, что вы можете использовать полное доменное имя вместо IP)
#!/bin/bash
# $1 is the file name for the you want to tranfer
# usage: this_script <filename>
IP_address="xx.xxx.xx.xx"
username="remote_ftp_username"
domain = sample.domain.ftp
password= password
ftp -n > ftp_$$.log <<EOF
verbose
open $IP_address
USER $username $password
put $1
bye
EOF
Добавляйте > ftp_$$.log
Только если вам нужна регистрация.
Тогда вы можете использовать
crontab -e
Команда для редактирования таблицы cronjob и добавить свой скрипт.
Это пример:
Если вам понравился скрипт выше (предположим, что он у вас дома и его имя myscript.sh) /home/myscript.sh, запускайте его каждый день в 2 часа ночи, вы должны сделать:
# crontab -e
а затем вы должны добавить следующую запись:
0 2 * * * /home/myscript.sh
Для справки, здесь у вас есть параметры записи crontab, означающие:
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Этот урок также может помочь вам.
Человек crontab покажет вам, что вам нужно. Вы хотите что-то вроде:
0 0 * * * yourScript.sh
в вашем файле crontab. Обратите внимание, что сценарии в cron
запускаются в урезанной среде, поэтому вам придется указать настройки env, которые требуются сценарию в этом сценарии.